发布于 2026-01-06 1 阅读
0

命令行效率提升技巧:如何在终端中获取帮助

命令行效率提升技巧:如何在终端中获取帮助

对于初学者来说,命令行往往令人望而生畏。面对闪烁的光标和冷冰冰的黑屏,绝望感油然而生。

如果你遇到困难,可以尝试以下几种方法:

1. 如何找到特定任务的程序

很多时候,你想执行某个特定任务,却记不起执行该任务的程序名称。许多 shell 工具的名称都是晦涩难懂的双字母,一开始很难记住。

别担心,有一个命令apropos可以帮助你!

例如,你想显示一个带有行号的文件。你知道其中有一个程序,但忘记了它的名字。你可以直接输入命令apropos -a line number来获取程序列表。我们使用-a一个标志,这样就只会返回描述中包含“ AND”apropos这个词的程序。linenumber

在我的电脑上,它输出如下内容:

apropos -a line number
# Output:
addr2line (1)        - convert addresses into file names and line numbers.
nl (1)               - number lines of files
x86_64-linux-gnu-addr2line (1) - convert addresses into file names and line numbers.
Enter fullscreen mode Exit fullscreen mode

有三个程序与编号线有关。让我们来看看这三个程序各自的功能。

2. 了解程序的功能

我们来看第一个候选程序addr2line。在命令后输入 `--help`--help是了解程序功能的一种方法。命令行程序通常会在调用时打印简短的帮助信息--help。有些程序也允许在调用时执行相同的操作-h

addr2line --help
# Output:
Usage: addr2line [option(s)] [addr(s)]
 Convert addresses into line number/file name pairs.
 If no addresses are specified on the command line, they will be read from stdin
....
Enter fullscreen mode Exit fullscreen mode

好的。这个程序确实做了一些事情addresses,但这不是我们想要的。接下来我们看看列表中的下一个:nl

nl --help
# Output:
Usage: nl [OPTION]... [FILE]...
Write each FILE to standard output, with line numbers added.
...
Enter fullscreen mode Exit fullscreen mode

看来我们找到了程序。我们来试一试。这是我们的文件foo.txt

cat foo.txt
# Output:
one
two
three

four
five
Enter fullscreen mode Exit fullscreen mode
nl foo.txt
# Output:
     1  one
     2  two
     3  three

     4  four
     5  five
Enter fullscreen mode Exit fullscreen mode

它运行正常,但为什么空行没有编号?

3. 获取有关项目的详细信息

这些--help信息非常简洁。如果我们想详细了解程序的功能,需要查阅手册或man相关页面。这些页面详细记录了程序的功能、所有选项和参数。输入man nl并查看相关信息……

哇!终端屏幕上显示了很多信息!您可以使用方向键上下导航,按回车键q退出。

我们可以在输出结果中看到以下内容:

.
.

-b, --body-numbering=STYLE
              use STYLE for numbering body lines
.
.
STYLE is one of:

       a      number all lines

       t      number only nonempty lines

       n      number no lines

Enter fullscreen mode Exit fullscreen mode

这样nl -b a foo.txt就能给foo.txt中的所有行编号,这正是我们想要的。

nl -b a foo.txt
# Output:
     1  one
     2  two
     3  three
     4
     5  four
     6  five
Enter fullscreen mode Exit fullscreen mode

这样似乎解决了我们的问题。

还有一个info命令可以提供更详细的使用信息。你可以使用以下命令进行尝试info nl

4. 获取程序使用示例

但如果我们只想快速运行命令,而不想阅读一大段文字呢?

原来,你可以安装一个名为 的实用工具tldr。如果你使用node或 ,python可以分别使用npm install -g tldr或进行安装pip install tldr。tldr页面列出了其他安装选项。安装完成后,只需tldr nl在终端中尝试运行即可。

tldr nl
# Output:
nl

  A utility for numbering lines, either from a file, or from standard input.

  - Number non-blank lines in a file:
    nl file

....

  - Number all lines including blank lines:
    nl -b a file


Enter fullscreen mode Exit fullscreen mode

瞧!我们可以看到一个简单易懂的例子。

tldr这是一个社区驱动的项目!大家可以为各种命令贡献示例。如果您喜欢的命令还没有对应的示例,您可以提交一个pull request

概要

总而言之,我们可以:

  • 找出能够执行特定任务的可能程序apropos
  • 获取有关$program使用$program --helpman $program
  • 获取示例tldr $program

PS:如果我们找不到完成任务所需的程序怎么办?

在第一部分中,我们假设能够找到完成任务所需的程序。但很多时候,我们可能并没有安装这些程序。在这种情况下,我们可以搜索发行版的软件包管理器,例如apt-getUbuntu 或yumCentOS dnf/Fedora。

在 Ubuntu 中,我们可以使用以下命令搜索存储库中所有可用的软件包apt-cache search $KEYWORD

文章来源:https://dev.to/rrampage/getting-help-in-the-terminal-4cmo