我经常看到类似的东西
阅读 有关更多信息,请阅读xyz的手册页。 看到
man xyz
info xyz
所以我想知道:
- 我通常如何获得有关终端命令的帮助?
- 这些手册页和信息页到底是什么?
- 我如何找到和查看它们?
我经常看到类似的东西
阅读 有关更多信息,请阅读xyz的手册页。 看到
man xyz
info xyz
所以我想知道:
Answers:
手册页(手册页的缩写)是类似Unix的操作系统(如Ubuntu)上软件文档的传统形式。对于绝大多数命令和程序,都有一个手册页,其中列出了其选项并解释了其用法。
手册页及其描述的命令会自动安装在您的系统上。要查看和搜索手册页,请使用以下命令man
:
man mv
显示mv
while 的手册页
man -k mv
在所有已安装的手册页的名称和简短描述中搜索字符串mv
。允许使用POSIX扩展正则表达式,这是一个搜索,因此,如果您要搜索确切使用的话,还将找到eg git-mv
和。semver
mv
^mv$
请参阅`man`和`man(#)`有什么区别?了解有关手册页部分的信息。有关更多信息,请阅读man
的手册页。;)
显示手册页的默认程序是less
。所谓的寻呼机提供了有用的搜索功能,只需输入/
搜索词,然后输入即可,例如
/--version
然后按Enter。这将标记每个发现并滚动到第一个发现。按此N按钮转到下一个搜索结果,按⇧ Shift+ N转到上一个搜索结果(请参阅如何在联机帮助页中进行搜索?)。有关命令列表,请按H,要退出,请less
按Q。
除了less
有其他寻呼机可供选择:pg
,most
和w3m
刚刚列出三个。我建议most
:它带有非常有用的关键词颜色,使手册页更易于阅读和浏览,亲自体验一下:
要使用不同于默认寻呼机的-P
方式查看手册页,请使用以下选项,例如:
man -P most mv
如果要更改默认的寻呼机手册页,则有两个选项:
仅更改默认寻呼机 man
export MANPAGER=most
要使更改永久生效,请将此命令添加到~/.bashrc
文件中。
更改整个系统的默认寻呼机
sudo update-alternatives --config pager
粉丝们甚至可以滥用vim
它MANPAGER
,请参阅muru撰写的这篇文章。
手册页以终端仿真器设置中指定的字体显示。如果您定期使用终端,则可能需要更改此字体。我只能推荐Hack-专为源代码设计的字体,有关其美观,请参见上面的屏幕截图。
预装程序是使用简单的GUI显示手册页的一种好方法yelp
。要使用yelp
execute yelp man:PROGRAM
或来启动手册页gnome-help man:PROGRAM
,例如:
yelp man:mv
您还可以使用首选的浏览器查看手册页,请参阅如何在Web浏览器中打开手册页?,例如用于man mv
在firefox
:
man -Hfirefox mv
最后但并非最不重要的一点是,您可以将手册页转换为PDF并使用首选的PDF查看器进行查看,请参见:是否可以将信息/手册页打印为PDF?
您可以使用速记URL manpg.es/PROGRAM
(例如http://manpg.es/mv)通过当前每个受支持的Ubuntu版本的存储库查看可用程序的手册页。这会打开mv
的手册页,以获取最新的 Ubuntu版本,您可以在顶部栏中选择其他版本。要搜索手册页,可以使用例如http://manpages.ubuntu.com/cgi-bin/search.py?q=mv。
如上所述,man
只能显示系统上安装的软件的手册页。要使用终端寻呼机从http://manpages.ubuntu.com查看手册页,dman
请参见bikeshed
软件包中的内容。
当您从其他在线来源阅读文档时,最好注意程序的版本。大多数程序都有一个--version
选项,用于显示相关程序的版本,例如
$ mv --version
mv (GNU coreutils) 8.25
有很多网站致力于使手册页变得容易使用,我只介绍最喜欢的两个:
来源尚未链接:https : //wiki.ubuntuusers.de/man/
man $*|col -bx|nano -
或man $*|col -bx|kate -i
。
less
(man
使用less
分页命令)中键入“ h”来打开它。因此也可以使用man
)
基本知识已经介绍过了,但是我认为可以对您说出命令的作用的网站https://explainshell.com很有帮助。https://explainshell.com将命令分解为几个部分,并显示每个部分的作用。
并排
man program-name
通常也有
info program-name
有时它们是相同的(重复的),但是有时这些页面之一包含更多信息。例如
info ddrescue
包含的信息超过
man ddrescue
和
info date
包含的信息超过
man date
之间的平衡man
,并info
取决于谁维护特定的程序[包装]人民的政策。
有关更多详细信息,请参见此链接,
unix.stackexchange.com/questions/19451/difference-between-help-info-and-man-command
help
命令是什么?help
显示有关bash
内置命令的有用信息。它仅对bash shell命令提供帮助。您可以使用type
以确定命令是否被这样的内置,如type echo
对type rm
。
它以模式作为参数来调用:
help if
显示if
命令的帮助页面。如果您仅对命令的语法感兴趣,请使用该-s
选项,如果您想help
以man
页面格式生成输出,请使用-m
。为了方便地查看较长的帮助文本,您可以将输出通过管道传送到您的首选寻呼机(请参见此答案的“我如何影响”部分):
help -m if | less
man
和比较info
您可以运行并比较以下命令:
help echo # for the bash built-in command `echo`
man echo # for the program `/bin/echo`
info echo # for the program `/bin/echo`
像本示例一样,有些程序既可以作为内置程序使用,也可以作为普通程序使用(请参阅为什么有/ bin / echo以及为什么要使用它?),在这种情况下,手册页通常包含一个注意表示。
有关更多详细信息,请参见此链接:帮助,信息和手动命令之间的区别·U&L
-h
和/或--help
通常有内置的帮助程序通过的至少一个选项可用自己-h
,--help
或-?
:
PROGRAM -h
PROGRAM --help
PROGRAM -?
如果两个选项-h
和--help
存在,他们往往是等价的,但有时你会得到“更多的帮助”有--help
,-H
,--longhelp
,--help-all
或类似的命令。该行为记录在程序的man
/ info
页面中。
通常,通过man
和提供更多信息info
,但有时通过提供独家信息-h
。运行并比较输出
man lsblk
和
lsblk -h
某些程序,例如和df
,tar
并rsync
使用选项-h
进行其他操作。在每个程序的man
/ info
页中对此进行了描述。
同样,您可以将输出通过管道传送到您的首选寻呼机,例如:
lsblk -h | less
--help
,这通常是大多数命令所需要的,也是我尝试的第一件事。
当您对Linux有一定的了解时,手册页,信息页和帮助选项将非常有用。但是从一开始,它们可能很难理解。您需要更详细的帮助才能上手。
您可以在教程中找到详细的帮助,
通常,您会通过Internet找到教程,有时在手册页或信息页中会找到有用的教程。
例如,当您使用网络浏览器的搜索引擎时,请尝试一些搜索字符串
寻找指定工具
寻找任务(并找到各种工具的教程)
简要查看找到的一些链接,然后开始使用适合您需要的教程。
man rsync
足够详细,可供我用作教程,但您可能需要更多详细信息(并通过互联网查找教程)。info ddrescue
有一个很好的内置教程。tldroid:一个Android应用,可提供有关Linux / unix / mac命令的快速信息
https://play.google.com/store/apps/details?id=io.github.hidroh.tldroid
我最喜欢的是commandlinefu.com,有一个函数在你.bashrc
或.zshrc
类似这样的
cmd() { curl "http://www.commandlinefu.com/commands/matching/$(echo "$@" \
| sed 's/ /-/g')/$(echo -n $@ | base64)/plaintext" ;}
让我们尝试一下cmd mount cd
,我调用了我的函数cmd
,您可以随意调用它
上面的功能可以搜索commandlinefu的网站,这是一个社区驱动的网站,就像这里一样,用户可以升级命令等。然后,它显示了如图所示的最佳结果。
或者有一种使用this的新方法。
http://samirahmed.github.io/fu/
让我们做 fu cron
许多人已经提到过man
。很少man
有人知道的一个很酷的功能是
man -t $(手册) > manpage.ps
它为手册页生成一个PostScript文件。PostScript可以轻松转换为PDF。与默认的命令行终端版本相比,这种格式的格式要好得多man
。
例如:
man -t man> man.ps
pstopdf手册
我刚刚在Ubuntu(它应该在其他Linuces上运行)和Mac OS上进行了测试。