如何获得有关终端命令的帮助?

我常常看到类似的东西

man xyz
有关更多信息,请阅读xyz的手册页。
info xyz

所以我想知道:

  • 我如何获得有关终端命令的帮助?
  • 这些人和 信息页到底是什么?
  • 我怎样才能找到并查看它们?

什么是手册页

手册页(手册页的缩写)是类似Unix的操作系统(如Ubuntu)上的传统软件文档forms。 对于绝大多数命令和程序,有一个手册页列出了其选项并解释了它的用法。

如何查找和查看手册页?

在终端离线

手册页会自动安装在您的系统上以及它们描述的命令。 要查看和搜索手册页,可以使用命令man

 man mv 

显示mv的手册页

 man -k mv 

搜索字符串mv的所有已安装手册页的名称和简短描述。 POSIX扩展正则表达式是允许的,它是一个搜索 ,所以这也会找到例如git-mvsemver ,如果你想要搜索完全mv使用^mv$而不是。

看看’man`和`man(#)`有什么区别? 阅读有关手册页部分的内容。 有关更多信息,请阅读man的手册页。 ;)

如何影响手册页的显示方式?

显示手册页的默认程序less 。 这个所谓的寻呼机提供了一个有用的搜索function,只需输入/后跟搜索词,例如

 /--version 

然后按Enter键 。 这将标记每个发现并滚动到第一个。 按N转到下一个发现,然后按⇧Shift + N转到上一个发现(请参阅如何在联机帮助页中搜索? )。 有关命令列表,请按H ,退出lessQ键。

除此之外还有其他可用的寻呼机pgmostw3m只列出三个。 我推荐most :它带有非常有用的关键词颜色,使得手册页容易阅读和导航,请亲自看看:

大多数屏幕截图显示mv的联机帮助页

要查看与默认寻呼机不同的手册页,请使用-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:PROGRAMgnome-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 

maninfo之间的平衡取决于维护特定程序[包]的人的政策。

有关详细信息,请参阅此链接

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

什么是help命令?

help显示有关bash内置命令的有用信息。 它仅为bash shell命令提供帮助。 您可以使用type来确定命令是否是内置命令,例如type echotype rm

它以模式作为参数调用:

 help if 

显示if命令的帮助页面。 如果您只是对命令的语法感兴趣,请使用-s选项,如果您希望helpman页格式生成输出,请使用-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 

dftarrsync这样的程序使用-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上测试它。