当前位置: 首页>>技术教程>>正文


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

, , ,

问题描述

我经常看到类似的东西

read man xyz
For more information read xyz’s man page.
see info xyz

所以我想知道:

  • 我通常如何获得有关终端命令的帮助?

  • 这些手册和信息页面到底是什么?

  • 我如何找到和查看它们?

最佳方法

什么是手册页​​?

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

如何查找和查看手册页?

在终端中离线

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

man mv

在显示时显示mv的手册页

man -k mv

在所有已安装手册页的名称和简短描述中搜索字符串mv。允许使用POSIX扩展正则表达式,这是一种搜索,因此也可以找到例如git-mvsemver,如果要精确搜索mv,请改用^mv$

请参见What is the difference between `man` and `man (#)`?以了解有关手册页的内容。有关更多信息,请阅读man的手册页。 😉

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

显示手册页的默认程序是less。此so-called寻呼机提供了有用的搜索功能,只需输入/,然后输入搜索项即可,例如

/--version

然后按Enter。这将标记每个发现并滚动到第一个发现。按N转到下一个发现,按⇧ Shift + N转到上一个(请参阅How can I search within a manpage?)。有关命令列表,请按H,要退出less,请按Q

除了less之外,还有其他可用的寻呼机:pgmostw3m仅列出三个。我推荐most:它带有非常有用的关键字着色,使手册页更易于阅读和浏览,请亲自看看:

要使用不同于默认寻呼机的方式查看手册页,请使用-P选项,例如:

man -P most mv

如果要更改默认的寻呼机手册页,则有两个选项:

  • 仅更改man的默认寻呼机

    export MANPAGER=most
    

    要使更改永久生效,请将此命令添加到您的~/.bashrc文件。

  • 更改整个系统的默认寻呼机

    sudo update-alternatives --config pager
    

风扇甚至可以(ab)将vim用作MANPAGER,请参阅muru编写的this article

手册页以终端仿真器设置中指定的字体显示。如果您定期使用终端,则可能需要更改此字体。我只能推荐Hack – a typeface designed for source code,请看上面的截图以了解它的美丽。

通过GUI脱机

预装的yelp程序是使用简单的GUI显示手册页的一种好方法。要使用yelp开始手册页,请执行yelp man:PROGRAMgnome-help man:PROGRAM,例如:

yelp man:mv

您也可以使用首选的浏览器查看手册页,请参见How do I make man pages open in a web browser?,例如适用于firefox中的man mv

man -Hfirefox mv

最后但并非最不重要的一点是,您可以将手册页转换为PDF并使用首选的PDF查看器进行查看,请参阅:Is there a way to print info/man pages to PDF?

Online

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软件包中提供了dman

其他来源

当您从其他在线资源阅读文档时,最好注意程序的版本。大多数程序都有一个--version选项,该选项显示相关程序的版本,例如

$ mv --version
mv (GNU coreutils) 8.25

有很多网站致力于使手册页变得容易使用,我只介绍最喜欢的两个:

  • man7.org带有有用的语法突出显示功能,但它仅具有程序的最后发行版本

  • manpag.es托管Ubuntu版本已久的EOL的手册页


尚未链接源: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。为了方便地查看较长的帮助文本,您可以将输出通过管道传送到首选的寻呼机(请参阅this answer的“我如何影响”部分):

help -m if | less

maninfo的比较

您可以运行并比较以下命令:

help echo  # for the bash built-in command `echo`
man echo   # for the program `/bin/echo`
info echo  # for the program `/bin/echo`

像本示例一样,有些程序既可以作为内置来使用,也可以作为常规程序来使用(请参见Why is there a /bin/echo and why would I want to use it?),在这种情况下,手册页通常包含一个说明。

有关更多详细信息,请参见此链接:Difference between help, info and man command · U&L

程序的选项-h和/或--help

通常,至少可以通过以下选项之一在程序本身中获得内置的帮助:-h--help-?

PROGRAM -h
PROGRAM --help
PROGRAM -?

如果两个选项-h--help都存在,则它们通常是等效的,但有时您会在--help-H--longhelp--help-all或类似命令上获得“更多帮助”。该行为记录在程序的man /info页面中。

通常,通过maninfo提供更多信息,但有时通过-h提供排他信息。运行并比较输出

man lsblk

lsblk -h

诸如dftarrsync之类的某些程序将-h选项用于其他用途。每个程序的man /info页面中对此进行了描述。

同样,您可以将输出通过管道传送到您的首选寻呼机,例如:

lsblk -h | less

第五种方法

什么是教程,如何找到有用的教程

当您对Linux有一定的了解时,手册页,信息页和帮助选项将非常有用。但是从一开始,它们可能很难理解。您需要更详细的帮助才能上手。

您可以在教程中找到详细的帮助,

  • 详细说明如何使用命令

  • 例子

通常,您会通过Internet找到教程,有时在手册页或信息页中会找到有用的教程。

  • 例如,当您使用网络浏览器的搜索引擎时,请尝试一些搜索字符串

    • 寻找指定工具

      • 纳米教程

      • sed教程

      • imagemagick教程

      • rsync教程

    • 寻找任务(并找到各种工具的教程)

      • linux文本模式编辑器教程

      • Linux批处理模式图片编辑器教程

简要查看找到的一些链接,然后开始使用适合您需要的教程。

  • man rsync足够详细,可供我用作教程,但您可能需要更多详细信息(并通过Internet查找教程)。

  • info ddrescue有一个不错的内置教程。

第六种方法

tldroid:一个Android应用,可提供有关Linux /unix /mac命令的快速信息

https://play.google.com/store/apps/details?id=io.github.hidroh.tldroid

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8355.html,未经允许,请勿转载。