Câu trả lời:
Hãy chú ý đến số phần: Giả sử bạn muốn giúp đỡ printf
. có ít nhất hai trong số chúng: in shell và in C. Phiên bản bash của printf nằm trong phần 1, phiên bản C nằm trong phần 3 hoặc 3C. Nếu bạn không biết cái nào bạn muốn, hãy nhập man -a printf
và tất cả các trang thủ công sẽ được hiển thị.
Nếu những gì bạn đang tìm kiếm là định dạng của printf với tất cả các mã% và nó không xuất hiện trên trang man printf, bạn có thể chuyển đến các trang man liên quan được liệt kê trong đoạn XEM CSONG. Bạn có thể tìm thấy một cái gì đó như formats(5)
, gợi ý bạn gõ man 5 formats
.
Nếu bạn cảm thấy khó chịu khi man printf
cung cấp cho bạn printf (1) và tất cả những gì bạn muốn là printf (3), bạn phải thay đổi thứ tự các thư mục được quét trong MANPATH
biến môi trường và đặt các thư mục cho ngôn ngữ C trước các lệnh cho shell. Điều này cũng có thể xảy ra khi các trang man của Fortran hoặc TCL / Tk được liệt kê trước các trang C.
Nếu bạn không biết bắt đầu từ đâu, hãy gõ man intro
hoặc man -s <section> intro
. Điều này cung cấp cho bạn một bản tóm tắt các lệnh của phần được yêu cầu.
Các phần được xác định rõ:
Cuối cùng nhưng không kém phần quan trọng: thông tin được cung cấp trong các trang man không dư thừa, vì vậy hãy đọc kỹ từ đầu đến cuối để tăng cơ hội tìm thấy những gì bạn cần.
man man
để xem mô tả đầy đủ về các phần khác nhau.
strstr()
) và tôi không có internet xung quanh.
man -k substring
hoặc apropos substring
sẽ giúp bạn.
Nhập dấu gạch chéo /
và sau đó nhập chuỗi để tìm kiếm. Sau đó tiếp tục nhấn n
để đến mục tiếp theo
tìm kiếm người đàn ông
Điều này sẽ cung cấp cho bạn một danh sách tất cả các trang man liên quan đến 'tìm kiếm'.
man -k search -s 3
Cũng được đề cập trong superuser.com/a/677969/599957
Như @Steven D nói, đừng quên các info
trang.
Ngoài ra, đừng bị đe dọa bởi các info
trang. Tôi biết nhiều người không sử dụng các trang thông tin vì hệ thống điều hướng tích hợp. Giải pháp yêu thích của tôi là dẫn các trang thông tin qua less
:
info gpg |less
Bằng cách này, tôi có thể điều hướng các info
trang bằng máy nhắn tin yêu thích của mình. Các info
trang bây giờ sẽ hoạt động giống như man
các trang.
Các apropos
tiện ích là nghiêm túc tiện dụng cho việc tìm kiếm manpage thích hợp.
man -k
== apropos
, phải không?
apropos
là những gì tôi sử dụng tất cả thời gian khi tìm kiếm một cái gì đó không có trang man cho chính nó.
Máy nhắn tin mặc định để đọc một trang người đàn ông là less
. Có tài liệu less
ở đây .
Đặc biệt:
ctrl+space
/ f
, điều này có thể hữu ích tùy thuộc vào ngón tay bạn thích sử dụng để điều hướng.
Tôi cho rằng, sử dụng hầu hết máy nhắn tin là một ý tưởng tốt. Máy nhắn tin này rất mạnh, nhưng tính năng chính đối với tôi - hiển thị các trang man màu. Tính năng này cải thiện nhận thức về văn bản đơn giản và dễ dàng tìm kiếm thông tin cần thiết.
Nhìn vào ảnh chụp màn hình đính kèm, văn bản trông rất đẹp phải không?
most
để xem các trang hướng dẫn.
> ~/.bashrc
vì nó sẽ ghi đè lên những gì trong đó. Theo tôi, tốt hơn là thêm ( >>
) hoặc thêm vôi theo cách thủ công.
aptitude install most; export MANPAGER="most"; man man
. Để làm cho nó vĩnh viễn:echo 'export MANPAGER="most"' >> ~/.bashrc
Trong Linux man
, bạn có thể thực hiện man -K string
(lưu ý chữ hoa K) để thực hiện tìm kiếm vũ phu của một thuật ngữ nhất định
-K, --global-apropos
Search for text in all manual pages. This is a brute-force
search, and is likely to take some time; if you can, you should
specify a section to reduce the number of pages that need to be
searched. Search terms may be simple strings (the default), or
regular expressions if the --regex option is used.
rất hữu ích khi bạn không biết tìm kiếm ở đâu.
Đừng bỏ qua các info
trang. Nhiều công cụ GNU có các trang thông tin rộng hơn nhiều so với các trang man. Thông thường, phần XEM CSONG sẽ nói "Tài liệu đầy đủ cho foo được duy trì dưới dạng hướng dẫn Texinfo." Điều này đặc biệt đúng với mọi thứ trong gói GNU coreutils.
Ngoài ra, nếu bạn là người dùng emacs, đừng quên bạn có thể đọc các trang thông tin và hướng dẫn mà không cần rời khỏi trình soạn thảo của mình: M-x info
và M-x woman
.
Đối với những trang dài hơn, phức tạp hơn, tôi thấy việc đọc chúng từ máy tính trở nên dễ dàng hơn nhiều (lẻ, tôi biết) và vì vậy tôi có các chức năng này trong .bashrc
# Print man pages
manp() { man -t "$@" | lpr -pPrinter; }
# Create pdf of man page - requires ghostscript and mimeinfo
manpdf() { man -t "$@" | ps2pdf - /tmp/manpdf_$1.pdf && \
xdg-open /tmp/manpdf_$1.pdf ;}
Từ câu trả lời của Kristof, nếu bạn (tức là) gõ, man -k chmod
bạn sẽ nhận được một danh sách các possibilites. Lưu ý số trong ngoặc đơn, nó có nghĩa là phần cần tìm trong các trang hướng dẫn:
Trên UNIX, bạn có thể thử:
man -s1 chmod
Nó sẽ hiển thị trang man cho lệnh chmod
man -s2 chmod
nó sẽ hiển thị trang man cho hàm C lib chmod ()
Trên Linux bạn nên thay đổi -s
cho-S
Xem các trang hướng dẫn trong ứng dụng đồ họa thân thiện với người dùng:
konqueror man:(command)
Đối với mục lục cấp cao nhất:
konqueror man:
Đặc trưng:
info:(command)
. Một số chương trình cung cấp nhiều thông tin hơn thông qua "thông tin" hơn thông qua "người đàn ông" và konqueror cung cấp giao diện đẹp hơn nhiều để duyệt các trang thông tin này. Lưu ý: Chỉ cần sử dụng info:
, cũng hoạt động để có được một bảng mục lục cấp cao nhất.
gman
gói thiết lập máy chủ web manpage tại localhost / cgi-bin / man / man2html .
yelp
Là một sự thay thế giảm trọng lượng nhẹ hơn cho konqueror
- mặc dù nó không thiếu việc trình bày một bảng mục lục hoặc một trang định hướng cho các tên được sử dụng trong nhiều phần. Bạn phải phân biệt rõ ràng những điều này bằng cách nối thêm .(section)
- ví dụ yelp man:open.2
. Bạn cũng có thể sử dụng <kbd> Ctrl-L </ kbd> để mở thanh vị trí.
Dayum, mọi người! Những câu trả lời phức tạp là gì?! Bất cứ điều gì đã xảy ra với sự đơn giản là chìa khóa cho sự sáng chói và những gì không? Hầu hết các phím vi / vim của bạn sẽ hoạt động ổn định:
/
hoặc ?
- Tìm kiếm tiến hoặc lùi (như một số kẻ đã đề cập). Trong trường hợp trước đây, một chữ thường n sẽ cuộn qua các trận đấu về phía trước, một chữ N viết hoa sẽ đi lùi. Điều ngược lại là đúng đối với câu hỏi sau - dấu hỏi.
Hơi phức tạp hơn các tìm kiếm thông qua các biểu thức thông thường. Sự khác biệt giữa man
(hoặc less
) và VIM là bạn phải sử dụng ký tự esc () để khai báo các siêu ký tự trong biểu thức của bạn khi sử dụng ký tự sau. Tin tốt là khi bạn đang sử dụng ( man
hoặc less
) trước đây - không quá nhiều. Vì vậy, bạn có thể dễ dàng đặt cái này để sử dụng khi tìm kiếm, ví dụ, một iptables
trang man cho nhiều cụm từ như vậy :
/(iptables|rules)
. Nếu bạn không quen thuộc với các cụm từ thông dụng, điều này có nghĩa là "Tìm kiếm các phiên bản của từ iptables
HOẶCrules
". Sau khi nhập cái này và tiếp tục nhấn n, bạn sẽ cuộn qua các kết quả tìm kiếm xen kẽ với kết quả được tô sáng độc đáo cho bạn với các màu khác nhau (thực tế là hai. Haha). Nếu bạn đang cố lướt qua trang và muốn tập trung vào các điều khoản hoặc khái niệm cụ thể - bạn sẽ không bỏ lỡ điều gì!
Và, tất nhiên, để điều hướng nhanh hơn, các tiêu chuẩn thông thường của bạn vi
vẫn đứng (không có ý định chơi chữ):
gg
hoặc G
- bắt đầu / kết thúc tài liệu; (Sửa chữa! Trong man
bạn có thể sử dụng tất cả các phím được đề cập bên dưới mà không cần sử dụng Ctrl. vi
Chỉ dành cho ).
Ctrl + u or d
- Cuộn lên hoặc xuống;
Ctrl + b or f
- Điều tương tự, chỉ trong những bước nhảy lớn hơn. "Trang lùi hoặc tiến";
e
hoặc y
- cuộn theo một dòng duy nhất, nhưng tôi nghĩ hầu hết mọi người chỉ muốn sử dụng các phím mũi tên. Tuy nhiên, nếu bạn muốn ở lại "1337" và "không bao giờ rời khỏi nhà" (như tôi làm lol) - đó là cách để đi.
Điều tôi đang cố gắng nói là UNIX có hai hương vị chính của điều khiển chương trình bàn phím, cả hai đều là readline
thư viện: vi và emacs. Tăng số lượng của bạn trong một trong hai (nhưng, tốt nhất là - trong cả hai) và nó sẽ làm cho cuộc sống của bạn bớt phức tạp hơn rất nhiều. Hầu hết các chương trình CLI trong UNIX đều sử dụng một trong hai. BASH
sử dụng các điều khiển emacs theo mặc định, nhưng nó có thể dễ dàng được đặt thành "chế độ vi" bằng cách nhập vào set -o vi
. Điều tương tự cũng có thể được nói cho các biểu thức thông thường, nhưng điều đó sẽ lạc đề. Tôi thậm chí còn đi xa hơn khi nói rằng cả hai đều là "ngôn ngữ chung" của UNIX.
Hầu hết chúng ta đều đặt biến PATH. Điều này sẽ chỉ cho bạn cách tự động làm cho đường dẫn tìm kiếm của người đàn ông khớp với lệnh tìm kiếm PATH của bạn.
Giả sử bạn nối đường dẫn của mình để bao gồm các tiện ích cá nhân, dành riêng cho công việc và được cài đặt cục bộ, như export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:
. Là một tác dụng phụ, man foo
sẽ không hiển thị các trang được lưu trữ tại ~ / man, / nhóm làm việc / người đàn ông hoặc / opt / local / man.
Để giải quyết vấn đề này, tôi sử dụng manpath
lệnh để tự động đặt đường dẫn tìm kiếm trang man. Ví dụ: ~ / .bashrc của tôi có như sau. Điều này hoạt động với tôi trên hàng trăm hệ thống khác nhau chạy mọi thứ từ FreeBSD 4.x, Darwin và CentOS 5:
### PATH & MANPATH
# My personal utilities
export PATH=$PATH:$HOME/bin
### Set the manpath based on the PATH, after man(1) parses man.conf
# - No need to modify man.conf or manually modify MANPATH_MAP
# - Works on Linux, FreeBSD & Darwin, unlike /etc/manpaths.d/
# See "SEARCH PATH FOR MANUAL PAGES" in man(1)
# Just set the man search path. Don't print output to screeen.
manpath >/dev/null
Một số hệ thống (như Apple Leopard) tự động đặt MANPATH, nhưng điều đó có nghĩa là hệ thống của bạn sẽ sử dụng biến MANPATH thay vì sử dụng manpath
. Do đó, các trang man cho 'MacPorts' (/ opt / local / man) bị bỏ qua. Tôi muốn tự mình kiểm soát điều này, vì vậy tôi bỏ đặt MANPATH:
unset MANPATH
manpath >/dev/null
Nếu bạn cảm thấy khó chịu khi man printf cung cấp cho bạn printf (1) và tất cả những gì bạn muốn là printf (3), bạn có thể nói với người đàn ông bạn muốn printf từ phần 3 bằng cách đặt phần trước printf, như vậy : man 3 printf
, mà không phải thay đổi thứ tự của các thư mục được quét trong biến môi trường MANPATH và đặt các thư mục cho ngôn ngữ C trước các thư mục shell.
Tôi chỉ sử dụng grep
. Nếu tôi tự hỏi -s
tùy chọn của read
lệnh đã làm gì, tôi sẽ thử các lệnh này cho đến khi nhận được câu trả lời:
info read |grep \\-s
man read |grep \\-s
help read |grep \\-s
Trong trường hợp này chỉ có info
lệnh cung cấp một câu trả lời rõ ràng. Câu trả lời tuyệt vời này cung cấp các chi tiết về các hệ thống trợ giúp khác nhau.
Ví dụ -u
, để tìm hiệu quả cho chuyển đổi ký tự đơn , bạn có thể thường xuyên sử dụng:
/^ *-u($|\s)
Tiết kiệm rất nhiều thời gian nếu nhiều tùy chọn có '-u' làm tiền tố.
/-u($|[,\s])
trong trường hợp ký tự tùy chọn được đóng khung bằng dấu phẩy. Nhưng nếu bạn muốn xem tất cả các mục của các tùy chọn nhân vật 'u' (như -u]
trong [--udp|-u]
các netstat
sổ tay), bạn sẽ cần một cái gì đó như thế này: /-u($|[^a-z])
Và nếu vi
hay vim
được sử dụng như máy nhắn tin: /-u\($\|[^a-z]\)
Lệnh apropos (1) được sử dụng để tìm kiếm các trang man. Tuy nhiên, hầu hết việc triển khai apropos (1) chỉ tìm kiếm trong phần NAME, điều này rất hạn chế.
NetBSD có triển khai tìm kiếm toàn văn bản của apropos (1), có khả năng tìm kiếm toàn bộ nội dung của các trang man. Ngoài ra còn có một giao diện dựa trên web cho nó: man-k.org , mà bạn có thể dùng thử.
Nếu bạn cảm thấy khó đọc các trang này vì tất cả các văn bản màu trắng, bạn có thể tô màu chúng. Hầu hết các trang người đàn ông mở với less
. Đối với less
, tôi sử dụng các cài đặt màu sau đây .bashrc
từ đây :
man() {
LESS_TERMCAP_md=$'\e[01;31m' \red
LESS_TERMCAP_me=$'\e[0m' \
LESS_TERMCAP_se=$'\e[0m' \
LESS_TERMCAP_so=$'\e[01;44;33m' \yellow on blue
LESS_TERMCAP_ue=$'\e[0m' \
LESS_TERMCAP_us=$'\e[01;32m' \green
command man "$@"
}
Đây là cho bash và zsh. Đối với most
, fish
, xterm
và rxvt
xem các liên kết ở trên.
Để đọc thêm:
Và đối với những người thích đọc các trang thông tin và người đàn ông trong màn hình cảm ứng, bạn có thể chuyển man / thông tin sang yad hoặc zquil và sử dụng tất cả các tính năng gtk3 như cuộn ngón tay bản địa. Cũng hoạt động tuyệt vời với màn hình refular và chuột:
man cat |yad --text-info
Bạn cũng có thể sử dụng tiện nghi hoặc bạn có thể thêm các tùy chọn yad như:
man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &
Mẹo: bằng cách hiển thị uri yoh có thể nhấp vào liên kết web bên trong trang man bằng chuột / ngón tay.
man --help
/man -h
và anh chị em hoàn thiện hơn của nóman man
có các mẹo tìm kiếm và điều hướng.