如何使用 Linux 的 man 命令:隐藏的秘密和基础知识如何使用 Linux 的 man 命令:隐藏的秘密和基础知识如何使用 Linux 的 man 命令:隐藏的秘密和基础知识如何使用 Linux 的 man 命令:隐藏的秘密和基础知识
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何使用 Linux 的 man 命令:隐藏的秘密和基础知识

您需要了解的有关 Linux 的所有信息都在其手册页中。例如,您可以搜索完成任务的命令,即使您不知道它叫什么。但是如何找到手册页呢?这里有一些技巧。

Linux 的内置手册

有一个古老的(来自 Unix 黄金时代)Linux 笑话,你唯一需要知道的命令是 man,用户手册的系统入口点。这有一点点道理,但即使是 man 一开始也会让人感到困惑。或者,更准确地说,查找所需信息可能会造成混淆。

您是否知道自己想做什么,但不知道完成任务的命令名称?我们可能都去过那里。这就像当你不认识这个词时试图在字典中查找一个词。

那么,您如何才能找到您要找的东西呢?好吧,man 有很多方法可以解决这个难题。

这些数字是另一个新生问题。它们是什么,它们是什么意思?您会在文档和互联网上看到诸如 man(2) 或 man(5) 之类的引用。您还会看到对命令的引用后跟数字,例如 mount(2) 和 mount(8)。 mount 命令肯定不会超过一个,对吧?正如我们将要看到的,数字很重要而且相对简单。

说到简单,一旦您知道如何在 man 中搜索就非常容易。事实上,您可以通过一些巧妙的方式在 man 中进行搜索和导航。让我们启动它,看看吧!

如何打开说明书

要使用 man,您可以在命令行中键入 man,然后输入空格和 Linux 命令。 man 打开 Linux 手册到描述该命令的“手册页”——当然,如果它能找到的话。

让我们输入以下内容,看看 man 对 man 说了什么:

man man

man 的手册页打开。

如您所见,这是 man(1) 页面。

请按照以下提示导航页面:

  • 要一次一行地浏览手册页: 使用鼠标上的滚轮,或上下箭头和 Enter 键。
  • 要在手册页中一次移动一个屏幕:按空格键以及 PgDn 和 PgUp 键。
  • 要直接移动到手册页的顶部或底部: 按 Home 和 End 键。

如果您按 H,您将进入帮助部分并查看您可以使用的备用击键表。上面列出的那些对大多数人来说可能会感觉更自然。

要退出 man,只需按 Q。

手册页剖析

在页面顶部,您会看到标题“名称”和“概要”。手册页的布局有一个约定。命令、程序和编程函数(库例程)都有手册页。您不会在每个手册页上看到所有这些标题,因为其中一些仅适用于某些类型的命令。

以下是您可能会看到的一些标题:

  • 名称:手册页描述的命令的名称。
  • 概要命令及其语法的概要。
  • 配置:设备的配置详细信息。
  • 描述:对程序功能的解释。
  • 选项:命令接受的命令行选项的描述。
  • 退出状态:命令的可能退出状态值,以及可能导致使用它们的原因。
  • 返回值:如果手册页是针对库例程的,则这描述了库例程可以发送回调用该例程的函数的值。
  • 错误:在发生错误时可能放置在 errno 中的值的列表。
  • 环境:影响命令或程序的环境变量列表,以及影响方式。
  • 文件:命令或程序使用的文件列表,例如配置文件。
  • 属性:命令的各种属性的摘要。
  • 版本:系统调用或库函数首次出现或与之前版本相比发生重大变化的 Linux 内核或库版本的详细信息。
  • 符合命令可能符合的任何标准的描述,例如 POSIX。
  • 备注:杂项备注。
  • 错误:已知问题。
  • 示例:一个或多个演示命令用法的示例。
  • 作者:编写或维护命令的人。
  • 另请参阅:与命令或主题相关的推荐读物。

男人 章节

如果向下滚动几页,您会看到手册中各部分的列表。

这些部分是:

  1. 一般命令:您在命令行上使用的命令。
  2. 系统调用:内核提供程序可以调用的函数。
  3. 库函数:程序可以在代码库(主要是C标准)中调用的函数。
  4. 特殊文件:通常是设备,例如 /dev 中的设备及其驱动程序。
  5. 文件格式和约定:文件格式,例如passwd、cron 表和tar归档文件。
  6. 游戏:对命令的描述,例如 fortune,当您运行它们时会显示来自数据库的报价。
  7. 杂项:对 inode、引导参数和 man 本身的描述。
  8. 系统管理:命令和守护进程通常保留给 root 使用。
  9. 内核例程:与内核内部操作相关的信息。例如,这包括对编写设备驱动程序的程序员有用的函数接口和变量。在大多数系统上,此部分未安装。

当您看到一个命令后跟一个数字时,它指的是手册该部分中对该命令的描述。例如,man(1) 指的是手册第一部分中描述 man 命令的条目。

在上图中,您看到了对 man(7) 的引用。这意味着在另一部分中有更多关于 man 的信息。当我们第一次打开手册页时,它显示 man(1)。如果您只键入 man 而没有节号,man 会按顺序搜索所有节,查找您键入的命令的条目。当然,它在 man(7) 之前找到了 man(1)。

如果要强制 man 从特定部分查找条目,则必须在命令行中包含部分编号。

例如,我们键入以下内容以打开第七节中 man 的条目:

man 7 man

手册打开到第七部分的 man 条目。

此手册页提供编写手册页的说明。它描述了您可以用来为您完成某些工作的文件格式和宏。我们之前看到的第一节中的 man(1) 页面描述了如何使用 man 本身。

如何在部分中查找条目

通常,如果您只是想知道如何使用命令,则不必提供章节编号。 man 将在手册的第一节中找到描述如何使用该命令的标准条目。但是,有时您确实需要在特定部分打开命令条目,因为您需要不同的信息。

您可以轻松找出手册的哪些部分包含命令条目。每个手册页都有一个标题和一个简短的描述。 -f (whatis) 选项搜索页面标题并返回匹配列表。

对于此示例,我们键入以下内容:

man -f man

man 的两个手册页连同它们的节号和简短描述一起列出。不过要小心——有些条目具有相同的名称,但描述的是不同的命令和功能。

例如,我们键入以下内容:

man -f printf

似乎为 printf 找到了两个条目:第一个在第一节中,另一个在第三节中。但是,这些是不同的命令。第一节中的手册页描述了命令行 printf 命令,该命令在终端窗口中格式化输出。第三部分的手册页描述了 C 编程语言中的 printf 库函数系列。

也可以通过简短描述和页面标题进行搜索。为此,您可以使用 -k (apropos) 选项。这也将匹配搜索项在其他更长的单词中的出现。

我们键入以下内容:

man -k printf

其中许多命令在相同的几个手册页中进行了描述,因为它们的核心功能基本相同。 vprintf 的手册页描述了上图中列出的 10 个命令的功能。

您可以利用此功能搜索与您要实现的目标相关的信息,即使您不知道要使用的命令的名称。

假设您想更改用户帐户的密码。我们可以搜索手册页标题或描述中提到“用户”的任何命令。然后我们可以通过 grep 来查找包含“密码”的条目。

为此,我们键入以下内容:

man -k 'user ' | grep password

因为我们用单引号将“user”一词括起来并在末尾包含一个空格,所以它只会找到“user”而不是“users”的匹配项。快速浏览一下搜索结果,我们会发现可能的候选者是 passwd。

因为它是手册页的第一部分,我们不需要在命令中包含部分编号,所以我们键入以下内容:

man passwd

假设我们需要一个命令来计算文本文件中的单词数。我们键入以下内容以查看是否存在类似的内容:

man -k word | grep count

要找出关于计算单词的所有知识,我们键入以下命令:

man wc

说到 wc,我们还可以使用带有单个句点 (.) 的 -k (apropos) 选项作为搜索目标,这将匹配一切。如果我们将其通过 wc 进行管道传输并使用 -l(行数)选项,它将告诉我们计算机上有多少手册页。

为此,我们键入以下命令:

man -k . | wc -l

这台 Ubuntu 计算机上有 6,706 个手册页,但如果您的数字有所不同,请不要感到惊讶。它可能会有所不同,具体取决于您的计算机上有哪些软件包和实用程序,以及预装了哪些手册页。

在手册页中搜索

您还可以从手册页中的当前位置向前或向后搜索。

对于此示例,我们键入以下内容以打开 history 命令的手册页:

man history

要向前搜索,我们按正斜杠 (/),然后键入单词“event”。搜索目标出现在终端窗口的底部,我们按 Enter 开始搜索。

该窗口显示找到的所有匹配项的第一个结果,并突出显示。

按“n”从一个结果移动到页面底部的结果。要通过手册页向后搜索,请按“N”;这将使您回到页面顶部。

要打开和关闭突出显示,请按 Esc+U。

如果您接近手册页的底部并想向上搜索,请按问号 (?),然后键入搜索词。我们搜索“条目”。

同样,任何匹配的结果都会突出显示。

要搜索下一个匹配结果,请按“n”移至手册页的开头。按“N”转到上一个匹配结果并移至手册页的末尾。

还有另一种方法可以搜索手册页。它会隐藏所有不包含与您的搜索词匹配的行,因此最好在该技术中使用行号。

如果我们输入“-N”并回车,我们可以在手册页中看到行号。

我们按和号 (&),键入我们的搜索词(数字),然后按 Enter。

仅显示包含我们的搜索词的行。

浏览这些内容并发现任何看起来有趣的内容很容易。我们认为第 292 行看起来很有希望,所以我们想转到手册页的那部分并检查一下。

要再次查看所有行,我们点击与号 (&),然后按 Enter。

我们键入“292”,然后键入“g”以转到该行。

一旦我们输入“g”,我们就会被带到第 292 行(这就是为什么“g”没有出现在上图中的原因)。然后第 292 行显示在终端窗口的顶部。

您可以按“-n”并按 Enter 键删除行号。

阅读精彩手册

手册页中有大量信息。即使使用您认为自己很了解的命令,也可以肯定还有其他您从未听说过的选项。

您肯定还会发现您不知道存在的命令。有这么多不同的方式来搜索和追踪信息,一切都触手可及真是太棒了。

Linux Commands
Files tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc
Processes alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap
Networking netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld

RELATED: Best Linux Laptops for Developers and Enthusiasts

©2015-2025 艾丽卡 support@alaica.com