如何获得有关终端命令的帮助?
我常常看到类似的东西
读
man xyz
有关更多信息,请阅读xyz的手册页。
看info xyz
所以我想知道:
- 我如何获得有关终端命令的帮助?
- 这些人和 信息页到底是什么?
- 我怎样才能找到并查看它们?
什么是手册页 ?
手册页(手册页的缩写)是类似Unix的操作系统(如Ubuntu)上的传统软件文档forms。 对于绝大多数命令和程序,有一个手册页列出了其选项并解释了它的用法。
如何查找和查看手册页?
在终端离线
手册页会自动安装在您的系统上以及它们描述的命令。 要查看和搜索手册页,可以使用命令man
:
man mv
显示mv
的手册页
man -k mv
搜索字符串mv
的所有已安装手册页的名称和简短描述。 POSIX扩展正则表达式是允许的,它是一个搜索 ,所以这也会找到例如git-mv
和semver
,如果你想要搜索完全mv
使用^mv$
而不是。
看看’man`和`man(#)`有什么区别? 阅读有关手册页部分的内容。 有关更多信息,请阅读man
的手册页。 ;)
如何影响手册页的显示方式?
显示手册页的默认程序less
。 这个所谓的寻呼机提供了一个有用的搜索function,只需输入/
后跟搜索词,例如
/--version
然后按Enter键 。 这将标记每个发现并滚动到第一个。 按N转到下一个发现,然后按⇧Shift + N转到上一个发现(请参阅如何在联机帮助页中搜索? )。 有关命令列表,请按H ,退出less
按Q键。
除此之外还有其他可用的寻呼机 : pg
, most
和w3m
只列出三个。 我推荐most
:它带有非常有用的关键词颜色,使得手册页更容易阅读和导航,请亲自看看:
要查看与默认寻呼机不同的手册页,请使用-P
选项,例如:
man -P most mv
如果要更改默认分页器,则会显示联机帮助页,其中包含两个选项:
-
仅更改
man
的默认寻呼机export MANPAGER=most
要使更改持久,请将此命令添加到
~/.bashrc
文件中。 -
更改整个系统的默认寻呼机
sudo update-alternatives --config pager
粉丝甚至可以(ab)使用vim
作为MANPAGER
,请参阅muru撰写的这篇文章 。
手册页以终端仿真器设置中指定的字体显示。 如果您经常使用终端,您可能想要更改此字体; 我只能推荐Hack – 一种专为源代码设计的字体 ,请参阅上面的屏幕截图,了解其美观。
通过GUI离线
使用简单的GUI显示手册页的一种简单方法是预先安装的yelp
程序。 要使用yelp
启动手册页,请执行yelp man:PROGRAM
或gnome-help man:PROGRAM
,例如:
yelp man:mv
您还可以使用首选浏览器查看手册页,请参阅如何在Web浏览器中打开手册页? ,例如对于firefox
man mv
:
man -Hfirefox mv
最后但并非最不重要的是,您可以将手册页转换 为PDF并使用首选的PDF查看器查看它们,请参阅: 有没有办法将信息/手册页打印为PDF?
线上
http://manpages.ubuntu.com
您可以使用速记URL manpg.es/PROGRAM
查看通过每个当前支持的Ubuntu版本的存储库提供的程序的手册页,例如http://manpg.es/mv 。 这打开了mv
的最新 Ubuntu版本的手册页,您可以在顶部栏中选择不同的版本。 要搜索可以使用的手册页,例如http://manpages.ubuntu.com/cgi-bin/search.py?q=mv 。
如上所述, man
只能显示系统上安装的软件的手册页。 要使用终端寻呼机查看来自http://manpages.ubuntu.com的手册页,可以在bikeshed
包中找到bikeshed
。
其他来源
当您阅读其他在线资源的文档时,最好关注程序版本。 大多数程序都有--version
选项,显示有问题的程序版本,例如
$ mv --version mv (GNU coreutils) 8.25
有很多网站致力于使手册页很容易获得,我只想介绍我最喜欢的两个:
- man7.org附带了有用的语法高亮显示,但它仅包含该程序的最新发布版本
- manpag.es主持了Ubuntu版本的人工页面
来源尚未链接: https : //wiki.ubuntuusers.de/man/
已经介绍了基础知识,但我认为一个网站对于告诉你命令的作用非常有帮助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以及为什么我要使用它? ),在这种情况下,手册页通常包含一个注意表明。
有关更多详细信息,请参阅此链接: help,info和man命令之间的区别·U&L
程序的选项-h
和/或--help
通常,程序本身可以通过至少一个选项-h
, -?
help或-?
提供内置帮助-?
:
PROGRAM -h PROGRAM --help PROGRAM -?
如果两个选项-h
和--help
存在,它们通常是等价的,但有时你会得到 – help, -H
, – --longhelp
, --help-all
--longhelp
--help-all
或类似命令的“更多帮助”。 此行为记录在程序的man
/ info
页面中。
通常通过man
info
更多信息,但有时通过-h
专有信息。 运行并比较输出
man lsblk
和
lsblk -h
像df
, tar
和rsync
这样的程序使用-h
选项作为其他东西。 这在每个程序的man
/ info
页面中描述。
您可以再次将输出传递给首选寻呼机,例如:
lsblk -h | less
什么是教程,如何找到有用的教程
当你有一些linux的经验时, 手册页, 信息页面和帮助选项非常有用。 但是一开始,他们很难理解; 您需要更详细的帮助才能开始使用。
你可以在教程中找到详细的帮助,
- 详细说明如何使用命令
- 例子
通常您会通过互联网找到教程,有时在手册页或信息页面中有一个有用的教程。
-
例如,在使用Web浏览器的搜索引擎时尝试使用一些搜索字符串
-
寻找指定的工具
- 纳米教程
- sed教程
- imagemagick教程
- rsync教程
-
寻找任务(并找到各种工具的教程)
- linux文本模式编辑器教程
- linux批处理模式图片编辑器教程
-
简要地看一下您找到的一些链接,并开始使用适合您需要的教程 。
-
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的网站,它是一个社区驱动的网站,就像这里一样,用户可以提供命令等等。 然后它会显示图中的顶部结果。
或者有一种新方法可以通过使用它来实现 。
http://samirahmed.github.io/fu/
这是一个教程 。
让我们做fu cron
弄清楚如何打开终端窗口并发出命令man man
。 只要在底部显示“更多”,键入空格键即可前进到下一个屏幕。 您正在阅读手册阅读程序的手册页, man
!
有一个非常小的鸡蛋问题让你通过。 man
命令可帮助您阅读有关系统上每个命令的手册。 但man
输出使用另一个名为more
命令。 您还可以阅读man more
人了解更多导航命令。
这就是一切! 通过阅读数百个命令的手册页,我学会了关于unix的所有知识。
很多man
已经提到了man
。 对于很少有人知道的一点酷function
man -t $(manpage) > manpage.ps
这会为手册页生成PostScript文件。 PostScript可以轻松转换为PDF。 这导致比默认命令行终端版本的man
更好的格式化。
例如:
man -t man> man.ps
pstopdf man.ps
我刚刚在Ubuntu(它应该适用于其他Linuces)和Mac OS上测试它。