Answers:
请注意节号:假设您需要帮助printf
。至少有两个:shell和C。printf的bash版本在第1节中,C版本在第3或3C节中。如果您不知道想要哪一个,请键入man -a printf
,然后将显示所有手册页。
如果您要查找的是带有所有%代码的printf格式,并且该格式没有出现在printf手册页上,则可以跳至“另请参见”段落中列出的相关手册页。您可能会发现类似的内容formats(5)
,建议您键入man 5 formats
。
如果您讨厌man printf
给您提供printf(1)而只想要printf(3),则必须更改MANPATH
环境变量中已扫描目录的顺序,并将C语言的目录放在shell命令的目录之前。当Fortran或TCL / Tk手册页在C页之前列出时,也可能发生这种情况。
如果您不知道从哪里开始,请输入man intro
或man -s <section> intro
。这为您提供了所请求部分的命令摘要。
各节定义明确:
最后但并非最不重要的一点:手册页中提供的信息不是多余的,因此请从头到尾仔细阅读,以增加找到所需内容的机会。
man man
以查看各个部分的完整说明。
strstr()
)的c函数的名称,而且我周围没有互联网。
man -k substring
还是apropos substring
会帮助您的。
键入斜杠/
,然后键入要搜索的字符串。然后继续按n
进入下一个项目
man -k 搜索
这将为您提供与“搜索”相关的所有手册页的列表。
man -k search -s 3
也在superuser.com/a/677969/599957
正如@Steven D所说,请不要忘记info
页面。
另外,不要被info
页面吓到。我知道很多人由于内置导航系统而不使用信息页面。我最喜欢的解决方案是通过less
以下方式传递信息页面:
info gpg |less
这样,我可以info
使用我最喜欢的寻呼机导航页面。该info
页面现在表现得一样man
的页面。
读取手册页的默认寻呼机是less
。有文档上less
这里。
尤其是:
ctrl+space
/ 向上/向下滚动一页f
,这可能会有所帮助,具体取决于您偏爱用于导航的手指。
我想,使用大多数寻呼机是一个好主意。该传呼机功能非常强大,但对我来说主要功能是-显示彩色手册页。此功能改善了对纯文本的感知,并简化了对所需信息的搜索。
看所附的屏幕截图,文字看起来非常漂亮,不是吗?
most
来查看手册页。
> ~/.bashrc
因为它将覆盖那里的内容。>>
我认为最好追加()或手动添加石灰。
aptitude install most; export MANPAGER="most"; man man
。要使其永久:echo 'export MANPAGER="most"' >> ~/.bashrc
在Linux中man
,您可以man -K string
(注意大写的K)对给定术语进行暴力搜索
-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.
当您不知道在哪里搜索时非常有用。
对于那些更长,更复杂的手册页,我发现从计算机上阅读它们要容易得多(我知道有些奇怪),因此我将这些功能包含在内 .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 ;}
在用户友好的图形应用程序中查看手册页:
konqueror man:(command)
对于顶级目录:
konqueror man:
特征:
info:(command)
。有些程序通过“ info”提供的信息比通过“ man”提供的信息更多,并且konqueror提供了更好的界面来浏览这些信息页面。注意:仅使用info:
,也可以获取顶级目录。
gman
软件包可以在localhost / cgi-bin / man / man2html上建立手册页Web服务器,从而实现类似的效果。
yelp
是一种轻巧的替代品,konqueror
尽管它的缺点是不显示目录或用于多个部分的名称的歧义页面。您必须通过追加来明确区分它们.(section)
-例如yelp man:open.2
。您也可以使用<kbd> Ctrl-L </ kbd>打开位置栏。
Dayum,人们!困惑的答案是什么?简单性发生了什么,才是光彩的关键,而没有什么呢?您的大多数vi / vim键都可以顺畅地工作:
/
或?
-向前或向后搜索(某些人已经提到过)。在前者的情况下,小写字母n将向前滚动匹配项,大写字母N将向后滚动。后者(问号)则相反。
通过正则表达式进行稍微复杂一些的搜索。man
(或less
)与VIM 之间的区别在于,在使用后者时,必须使用escape()字符在表达式中声明元字符。好消息是,当您使用前者(man
或less
)时-不用那么多。因此,您可以轻松地在搜索时使用此功能,例如,在iptables
手册页中搜索多个术语,例如:
/(iptables|rules)
。如果您不熟悉正则表达式,则表示“搜索单词实例iptables
或rules
“。输入此内容并持续按n时,您将在搜索的交替结果中滚动,并以不同的颜色(实际上是两个,哈哈)为您很好地突出显示了结果。如果您尝试浏览页面和想要专注于特定术语或概念-您不会错过任何一件事!
并且,当然,为了更快地导航,您的常规vi
备用站仍保持站立(没有双关语):
gg
或G
-文档的开始/结束;(更正!man
您可以使用下面提到的所有键,而无需使用Ctrl。这vi
仅适用于此)。
Ctrl + u or d
-向上或向下滚动;
Ctrl + b or f
-同样,只有更大的飞跃。“向后或向前翻页”;
e
或y
-滚动一行,但我认为大多数人宁愿只使用箭头键。但是,如果您想留下“ 1337”并且“永远不要离开家中的行”(就像我一样大声笑),这就是要走的路。
我要说的是UNIX有两种主要的键盘程序控件风格,它们都是readline
库的一部分:vi和emacs。任您选择(但最好同时兼顾),这将使您的生活变得不那么复杂。UNIX中的大多数CLI程序都使用其中之一。BASH
默认使用emacs控件,但可以通过键入轻松将其设置为“ vi模式” set -o vi
。对于正则表达式也可以这样说,但是这将成为话题。我什至要说这两个都是UNIX的“通用语言”。
我们大多数人都设置PATH变量。这将向您展示如何自动使人工搜索路径与命令搜索路径匹配。
假设您追加路径以包括个人的,特定于工作的和本地安装的实用程序,例如export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:
。副作用是,man foo
不会显示存储在〜/ man,/ workgroup / man或/ opt / local / man的联机帮助页。
要解决此问题,我使用manpath
命令自动设置手册页搜索路径。例如,我的〜/ .bashrc具有以下内容。这对我来说适用于运行FreeBSD 4.x,Darwin和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
某些系统(例如Apple Leopard)会自动设置MANPATH,但这意味着您的系统将使用MANPATH变量而不是manpath
。因此,“ MacPorts”(/ opt / local / man)的手册页将被忽略。我想自己控制它,所以取消设置MANPATH:
unset MANPATH
manpath >/dev/null
我只是用grep
。如果我想知道命令的-s
选项做了什么read
,我会依次尝试这些命令,直到得到答案:
info read |grep \\-s
man read |grep \\-s
help read |grep \\-s
在这种情况下,只有info
命令可以提供明确的答案。这个极好的答案提供了有关不同帮助系统的详细信息。
该中肯(1)命令用于搜索手册页。但是,大多数apropos(1)的实现只是在NAME部分中搜索,这是非常有限的。
NetBSD具有apropos(1)的全文本搜索实现,它能够搜索手册页的完整内容。还有一个基于Web的界面:man-k.org,您可以尝试一下。
如果由于所有白色文本而导致难以阅读手册页,则可以将其着色。大多数手册页都以打开less
。对于less
,我用下面的颜色设置.bashrc
从这里:
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 "$@"
}
这适用于bash和zsh。对于most
,fish
,xterm
并rxvt
看到上面的链接。
进一步阅读:
man --help
/,man -h
并且更完整的同级man man
都有搜索和导航提示。