Làm thế nào tôi có thể nhận trợ giúp về các lệnh đầu cuối?


33

Tôi thường thấy những thứ như

đọc Để biết thêm thông tin đọc trang người đàn ông của xyz . xemman xyz

info xyz

vì vậy tôi tự hỏi:

  • Làm thế nào tôi có thể nhận trợ giúp về các lệnh đầu cuối nói chung?
  • Chính xác những gì người đàn ôngcác trang thông tin ?
  • Làm thế nào tôi có thể tìm và xem chúng?



Tôi cũng muốn đề cập đến tldr.sh , đây là một nỗ lực để đơn giản hóa và trình bày các trang man theo cách tốt hơn.
Không không hiển thị tên thật của tôi vào

@ Nodon'tshownmyrealname Bạn có muốn viết câu trả lời tldrkhông? Bạn cũng có thể đề cập cheatvà có thể cheat.sh .
tráng miệng

Câu trả lời:


44

Một trang người đàn ông là gì?

Trang con người (viết tắt của trang thủ công) là hình thức tài liệu phần mềm truyền thống trên HĐH giống Unix như Ubuntu. Đối với phần lớn các lệnh và chương trình, có một trang hướng dẫn liệt kê các tùy chọn và giải thích cách sử dụng.

Làm thế nào tôi có thể tìm và xem các trang người đàn ông?

Ngoại tuyến trong một thiết bị đầu cuối

Các trang Man được tự động cài đặt trên hệ thống của bạn cùng với các lệnh mà chúng mô tả. Để xem và tìm kiếm các trang man có lệnh man:

man mv

hiển thị trang man mvtrong khi

man -k mv

tìm kiếm tên và mô tả ngắn của tất cả các trang man được cài đặt cho chuỗi mv. POSIX Extended Expressions được cho phép và đó là một tìm kiếm , vì vậy điều này cũng sẽ tìm thấy ví dụ git-mvsemver, nếu bạn muốn tìm kiếm chính xác mvsử dụng ^mv$thay thế.

Xem sự khác biệt giữa `man` và` man (#)` là gì? để đọc về phần trang người đàn ông. Để biết thêm thông tin đọc mantrang người đàn ông. ;)

Làm thế nào tôi có thể ảnh hưởng đến cách một trang người đàn ông được hiển thị?

Chương trình mặc định để hiển thị trang man là less. Cái gọi là máy nhắn tin này cung cấp một chức năng tìm kiếm hữu ích, chỉ cần nhập /theo sau là cụm từ tìm kiếm, vd

/--version

và nhấn Enter. Điều này sẽ đánh dấu mọi phát hiện và di chuyển đến cái đầu tiên. Nhấn Nđể đi đến tìm kiếm tiếp theo và ⇧ Shift+ Nđể đi đến tìm kiếm trước đó (xem Làm cách nào tôi có thể tìm kiếm trong một trang web? ). Đối với một danh sách các lệnh nhấn H, để thoát lessnhấn Q.

Bên cạnh lessđó là máy nhắn tin khác có sẵn: pg, mostw3mchỉ vào danh sách ba. Tôi khuyên bạn nên most: Nó đi kèm với một màu rất hữu ích của từ khóa làm cho một người đàn ông trang nhiều dễ dàng hơn để đọc và điều hướng, xem cho chính mình:

hầu hết ảnh chụp màn hình hiển thị trang của mv

Để xem một trang người đàn ông khác với máy nhắn tin mặc định của bạn, hãy sử dụng -Ptùy chọn, ví dụ:

man -P most mv

Nếu bạn muốn thay đổi các trang máy nhắn tin mặc định được hiển thị với bạn có hai tùy chọn:

  • chỉ thay đổi máy nhắn tin mặc định của man

    export MANPAGER=most
    

    Để thay đổi liên tục, hãy thêm lệnh này vào ~/.bashrctệp của bạn .

  • thay đổi máy nhắn tin mặc định của toàn bộ hệ thống của bạn

    sudo update-alternatives --config pager
    

Người hâm mộ thậm chí có thể (ab) sử dụng vimnhư MANPAGER, xem bài viết này được viết bởi muru .

Các trang man được hiển thị trong phông chữ được chỉ định trong cài đặt trình giả lập thiết bị đầu cuối của bạn. Nếu bạn làm việc với thiết bị đầu cuối thường xuyên, bạn có thể muốn thay đổi phông chữ này; Tôi chỉ có thể đề xuất Hack - một kiểu chữ được thiết kế cho mã nguồn , xem ảnh chụp màn hình ở trên để biết vẻ đẹp của nó.

Ngoại tuyến qua GUI

Một cách hay và dễ dàng để hiển thị các trang man với GUI đơn giảnyelpchương trình được cài đặt sẵn . Để bắt đầu một trang man với yelpthực thi yelp man:PROGRAMhoặc gnome-help man:PROGRAM, ví dụ:

yelp man:mv

Bạn cũng có thể xem các trang man bằng trình duyệt ưa thích của mình , xem Làm cách nào để mở các trang man trong trình duyệt web? , ví dụ như man mvtrong firefox:

man -Hfirefox mv

Cuối cùng nhưng không kém phần quan trọng, bạn có thể chuyển đổi trang man sang PDF và xem chúng bằng trình xem PDF ưa thích của mình, xem: Có cách nào để in thông tin / trang man thành PDF không?

Trực tuyến

http://manpages.ubfox.com

Bạn có thể xem các trang hướng dẫn của các chương trình có sẵn thông qua kho lưu trữ của mọi phiên bản Ubuntu hiện được hỗ trợ với URL tốc ký manpg.es/PROGRAM, ví dụ: http://manpg.es/mv . Điều này mở ra mvtrang con người cho bản phát hành Ubuntu mới nhất , bạn có thể chọn một bản phát hành khác trong thanh trên cùng. Để tìm kiếm các trang man, bạn có thể sử dụng, ví dụ: http://manpages.ubfox.com/cgi-bin/search Habq=mv .

Như đã giải thích ở trên manchỉ có thể hiển thị các trang phần mềm được cài đặt trên hệ thống. Để xem các trang man từ http://manpages.ubfox.com bằng cách sử dụng máy nhắn tin đầu cuối có dmansẵn trong bikeshedgói.

Những nguồn khác

Khi bạn đọc tài liệu từ các nguồn trực tuyến khác, bạn nên để mắt đến phiên bản chương trình. Hầu hết các chương trình có một --versiontùy chọn hiển thị phiên bản của chương trình được đề cập, ví dụ:

$ mv --version
mv (GNU coreutils) 8.25

Có rất nhiều trang web dành riêng để làm cho các trang man dễ dàng có sẵn, tôi chỉ giới thiệu hai trang tôi thích nhất:

  • man7.org đi kèm với đánh dấu cú pháp hữu ích, nhưng nó chỉ có phiên bản phát hành cuối cùng của chương trình
  • manpag.es lưu trữ các trang man của Ubuntu phát hành EOL từ lâu

Nguồn chưa được liên kết: https://wiki.ubfoxusers.de/man/


Một mẹo hữu ích khác (ít nhất là nếu bạn là lập trình viên) là viết một tập lệnh nhỏ để chuyển đầu ra của người đàn ông vào trình soạn thảo văn bản mà bạn chọn. Ví dụ: (\ n là dòng mới) #! / Bin / tcsh \ n đặt tên = $ argv [$ # argv] \ n đặt tệp = /tmp/man.$name.out\n / usr / bin / man $ * | col -bx> $ file \ n (đường dẫn đến trình soạn thảo của bạn) $ file \ n rm $ file \ n Một macro tương tự nhưng dành riêng cho trình soạn thảo sẽ cho phép bạn gọi man từ bên trong trình chỉnh sửa, điều này khá hữu ích.
jamesqf

@jamesqf Thú vị, tại sao bạn làm và khi nào bạn sử dụng nó? Vì các biên tập viên thường có thể đọc từ stdin, bạn có thể đơn giản hóa nó thành ví dụ man $*|col -bx|nano -hoặc man $*|col -bx|kate -i.
tráng miệng

@jamesqf nếu bạn xuất trang man sang tệp văn bản để tìm kiếm hoặc điều hướng dễ dàng, bạn thực sự nên xem xét trang "TÓM TẮT LESSESSS ". Nó có thể được mở bằng cách nhập 'h' in less( mansử dụng lesslệnh để phân trang vì vậy nó cũng hoạt động từ manđó)
Ludovic Ronsin

@Ludovic Ronsin: Tôi làm điều đó trong trình soạn thảo của mình chứ không phải vì hai lý do. Đầu tiên, vì tôi biết các lệnh của biên tập viên của mình (mạnh hơn nhiều so với các lệnh ít hơn) và không phải bận tâm tìm hiểu thêm một nhóm lệnh nào khác, mà tôi chắc chắn sẽ nhầm lẫn trong các ngữ cảnh khác nhau. Thứ hai, bởi vì tôi có thể nối phiên bản trình soạn thảo vào một phím bấm (Alt-m, như nó xảy ra) và nhờ đó nhận được sự trợ giúp về bất kỳ lệnh gọi chức năng nào có trang man. Về lý do tại sao tôi làm theo cách tôi làm, tôi đã viết nó cách đây hơn 20 năm và nó hoạt động đủ tốt.
jamesqf

@jamesqf sẽ chỉ đặt PAGER = "vim -" làm gì?
d33tah

13

Những điều cơ bản đã được đề cập, nhưng một trang web tôi nghĩ là khá hữu ích để cho bạn biết lệnh nào là https://explainshell.com , phân tích một lệnh vào các phần của nó và hiển thị mỗi bit làm gì.

nhập mô tả hình ảnh ở đây


1
+1 Đó hoàn toàn không phải là những gì tôi đã có sau khi tôi viết Câu hỏi này, nhưng đó là một tài nguyên tuyệt vời mà tôi không biết - cảm ơn rất nhiều! Khi các câu trả lời khác cố tình bao gồm một chủ đề chính, có thể bạn mở rộng câu trả lời của mình để bao quát các công cụ trực tuyến nói chung? shellcheck.net đến với tâm trí
món tráng miệng

12

Một trang thông tin là gì?

Bên cạnh

man program-name

cũng thường có

info program-name

Đôi khi chúng giống nhau (trùng lặp), nhưng đôi khi một trong những trang này chứa nhiều thông tin hơn. Ví dụ

info ddrescue

chứa nhiều thông tin hơn

man ddrescue

info date

chứa nhiều thông tin hơn

man date

Sự cân bằng giữa maninfophụ thuộc vào chính sách của những người duy trì chương trình cụ thể [gói].

Xem liên kết này để biết thêm chi tiết,

unix.stackexchange.com/questions/19451/difference-b between-help-info-and-man-common


11

Là gì helplệnh?

helphiển thị thông tin hữu ích về bashcác lệnh tích hợp. Nó cung cấp trợ giúp cho các lệnh bash shell. Bạn có thể sử dụng typeđể xác định xem một lệnh có được tích hợp như vậy không, ví dụ type echoso với type rm.

Nó được gọi với một mẫu như là một đối số:

help if

hiển thị trang trợ giúp cho iflệnh. Nếu bạn chỉ quan tâm đến cú pháp của lệnh, hãy sử dụng -stùy chọn, nếu bạn muốn helptạo đầu ra ở manđịnh dạng trang, hãy sử dụng -m. Để xem các văn bản trợ giúp dài một cách thuận tiện, bạn có thể chuyển đầu ra sang máy nhắn tin ưa thích của mình (xem phần này của câu trả lời Làm thế nào tôi có thể ảnh hưởng đến phần):

help -m if | less

So sánh với maninfo

Bạn có thể chạy và so sánh các lệnh sau:

help echo  # for the bash built-in command `echo`
man echo   # for the program `/bin/echo`
info echo  # for the program `/bin/echo`

Giống như trong ví dụ này, có những chương trình có sẵn cả dưới dạng tích hợp và chương trình thông thường (xem Tại sao lại có / bin / echo và tại sao tôi muốn sử dụng nó? ), Trong trường hợp này, trang man thường chứa một lưu ý chỉ ra rằng.

Xem liên kết này để biết thêm chi tiết: Sự khác biệt giữa trợ giúp, thông tin và lệnh man · U & L

một tùy chọn của chương trình -hvà / hoặc--help

Thông thường, có sẵn trợ giúp trong các chương trình có sẵn thông qua ít nhất một trong các tùy chọn -h, --helphoặc -?:

PROGRAM -h
PROGRAM --help
PROGRAM -?

Nếu cả hai lựa chọn -h--helptồn tại, họ thường là tương đương, nhưng đôi khi bạn nhận được 'thêm trợ giúp' với --help, -H, --longhelp, --help-allhoặc lệnh tương tự. Hành vi này được ghi lại trong man/ infotrang của chương trình .

Thông thường có nhiều thông tin qua maninfo, nhưng đôi khi có thông tin độc quyền qua -h. Chạy và so sánh đầu ra của

man lsblk

lsblk -h

Một số chương trình thích df, tarrsyncsử dụng tùy chọn -hcho cái gì khác. Điều này được mô tả trong man/ infotrang của mỗi chương trình.

Một lần nữa, bạn có thể dẫn đầu ra cho máy nhắn tin ưa thích của mình, ví dụ:

lsblk -h | less

Cảm ơn đã đề cập --help, đó thường là điều duy nhất tôi cần với hầu hết các lệnh và luôn là điều đầu tiên tôi thử.
JPhi1618

6

Hướng dẫn là gì và làm thế nào tôi có thể tìm thấy một hướng dẫn hữu ích

Khi bạn có một số kinh nghiệm về linux, các trang man , trang thông tin và các tùy chọn trợ giúp rất hữu ích. Nhưng trong thời gian đầu, chúng có thể khó hiểu; bạn cần trợ giúp chi tiết hơn để bắt đầu.

Bạn có thể tìm thấy trợ giúp chi tiết trong hướng dẫn ,

  • giải thích chi tiết cách sử dụng lệnh
  • ví dụ

Thông thường bạn sẽ tìm thấy hướng dẫn qua internet, đôi khi có một hướng dẫn hữu ích trong trang hướng dẫn hoặc trang thông tin.

  • Ví dụ: thử một số chuỗi tìm kiếm khi bạn sử dụng công cụ tìm kiếm của trình duyệt web

    • Tìm kiếm các công cụ được chỉ định

      • hướng dẫn nano
      • hướng dẫn sed
      • hướng dẫn tưởng tượng
      • hướng dẫn rsync
    • Tìm kiếm các nhiệm vụ (và tìm hướng dẫn cho các công cụ khác nhau)

      • hướng dẫn biên tập chế độ văn bản linux
      • Hướng dẫn chỉnh sửa ảnh chế độ hàng loạt linux

Nhìn ngắn gọn vào một vài liên kết mà bạn tìm thấy và bắt đầu làm việc với một hướng dẫn phù hợp với những gì bạn cần .

  • man rsync là đủ chi tiết để tôi sử dụng làm hướng dẫn, nhưng bạn có thể muốn biết thêm chi tiết (và tìm hướng dẫn qua internet).
  • info ddrescue có một hướng dẫn tích hợp tốt.

Hoàn hảo, cảm ơn bạn vì sự đóng góp liên tục của bạn - Tôi cảm thấy câu hỏi này sẽ phát triển một nguồn rất hữu ích mà chúng ta có thể bắt đầu. Tôi sẽ thêm một chỉ mục nội dung vào câu hỏi và liên kết các câu trả lời để người xem rảnh rỗi cuộn.
tráng miệng

1
@dPlay, Đây là một sáng kiến ​​tốt của bạn và tôi rất vui được đóng góp :-)
sudodus


2

Yêu thích của tôi là Commandlinefu.com , có một chức năng trong .bashrchoặc .zshrcnhư thế này

cmd() { curl "http://www.commandlinefu.com/commands/matching/$(echo "$@" \
    | sed 's/ /-/g')/$(echo -n $@ | base64)/plaintext" ;}

Hãy thử cmd mount cd, tôi đã gọi chức năng của tôi cmd, bạn có thể gọi nó là bất cứ điều gì bạn muốn

nhập mô tả hình ảnh ở đây

Chức năng trên tìm kiếm trang web của dòng lệnh, đó là một trang web hướng đến cộng đồng giống như ở đây, người dùng có khả năng nâng cấp các lệnh, v.v. Sau đó, nó hiển thị kết quả hàng đầu như trong hình.

hoặc có một cách mới để làm điều đó bằng cách sử dụng điều này .

http://samirahmed.github.io/fu/

Đây là một hướng dẫn .

Hay lam fu cron

nhập mô tả hình ảnh ở đây


1

Chỉ ra làm thế nào để mở một cửa sổ đầu cuối và ban hành lệnh man man. Nhập thanh không gian để chuyển sang màn hình tiếp theo bất cứ khi nào nó nói "Khác" ở dưới cùng. Bạn đang đọc trang hướng dẫn cho chương trình đọc thủ công , man!

Có một vấn đề rất nhỏ về trứng và trứng để bạn vượt qua. Các manlệnh giúp bạn đọc hướng dẫn về tất cả các lệnh trên hệ thống. Nhưng manđầu ra sử dụng một lệnh khác được gọi là more. Bạn cũng có thể đọc man moređể tìm hiểu các lệnh điều hướng bổ sung cho more.

Và đó là tất cả! Tôi đã học mọi thứ tôi biết về unix bằng cách đọc các trang man cho hàng trăm lệnh.


3
Trên Ubuntu, mansử dụng lesstheo mặc định, không more.
muru

0

Nhiều người đã đề cập manrồi. Một tính năng thú vị cho manmột số ít người biết là

man -t $ (manpage) > manpage.ps

trong đó tạo ra một tệp PostScript cho trang thủ công. PostScript có thể dễ dàng chuyển đổi thành PDF. Điều này dẫn đến một định dạng đẹp hơn nhiều so với phiên bản đầu cuối dòng lệnh mặc định của man.

Ví dụ:

man -t man> man.ps

pstopdf man.ps

Tôi vừa mới thử nghiệm nó trên Ubuntu (và nó sẽ hoạt động trên các Linuces khác) và Mac OS.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.