详解Linux帮助命令——help、--help、man、info

目录

  • Linux帮助命令简介
  • help 命令与 --help 参数
  • man 命令
  • info 命令

一、Linux帮助命令简介

Linux 系统的命令数量有上千个,每个命令又有若干个甚至数十个参数指出不同情景下的使用。

有一些命令是我们日常工作需要经常使用的,即便不是特意背命令,也会因熟能生巧而印象深刻。但是对于那些不熟悉的命令,或者是熟悉命令的不熟悉的参数呢?

当然,我们不需要耗费大量精力去记忆这些命令和参数,只需要正确使用Linux 的帮助命令,就能够快速地定位到自己想要的命令和参数。

Linux 的帮助命令主要包含三个:

  1. help 命令与 --help 参数
  2. man 命令
  3. info 命令

接下来,将介绍这三个命令的使用方法及区别。

二、help 命令与 --help 参数

2.1 help 命令

help 命令能够在控制台上打印出我们需要的命令的帮助信息,使用方式为:

help <command>

例如,我们要查看 cd 命令和 mv 命令的帮助命令,使用上述形式的 help 命令时能够得到如下输出:

查看cd命令

查看mv命令

为什么会出现上述差异?为什么不能查看 mv 命令的帮助信息?这里需要引入一个“内建命令”和“外部命令”的概念

2.2 内建命令与外部命令

Linux 的内建命令是 shell 程序的一部分,Linux 系统加载运行时就被加载并驻留在系统内存里的,因此执行速度较快。

Linux 的外部命令是通过额外安装获得的命令,不随系统一起被加载到内容中,运行速度慢但功能强大。

使用 type 命令可以查看该命令是内建命令还是外部命令

type <command>

例如上文中,提及的 cd 命令和 mv 命令,我们看一下它们分别属于什么类型的命令

cd 是一个内建命令

mv 是一个外部命令
从上述信息中,我们发现 cd 命令是一个内建命令,mv 命令是一个外部命令。多次尝试后,可以发现,上述形式的 help 命令只能用于内建命令的帮助信息查询。

我们可以尝试查看 help 命令本身的帮助文档

help help

查看 help 的帮助文档

不难看出,只有内建命令能够使用下述形式的 help 命令查询帮助文档。

help [option] <command>

2.3 – help 参数

若是想用 help 来查询外部命令的帮助文档,上述形式是行不通的,但是可以用下述形式查询外部命令的帮助文档

<command> --help

**需要注意的是,这两个形式的 help 并不能完全等同。**前一种通过执行内建的 help 命令查看帮助文档,后一种是通过命令后携带参数 help 的方式来展示所查询命令的帮助文档。我们不妨尝试查询外部命令 mv 的帮助文档:

mv --help

mv  命令支持了--help

不难发现,mv 命令支持了 --help 的参数,才能展示这个命令的帮助信息并退出。

三、man 命令

3.1 man 提供的帮助信息

man 是 manual 的简写,与 help 命令和 --help 参数不同,使用 man 命令查询帮助手册时会进入 man page 界面,而非直接打印在控制台上。同时,相比与 help,man 命令的信息更全,help 则显示的信息简洁

man [option] <command>

例如,我们要查看 mv 命令的帮助信息

man mv

man 命令查看 mv 的帮助文档

man page 中提供了关于 mv 命令的 “名字” 、 “概要” 、 “介绍” 等信息,还有诸如 “作者信息” 、 “更多” 等其他信息未在图中展示。具体包括:

名称 含义
NAME 命令名称及简要说明
SYNOPSIS 命令执行语法概要
DESCRIPTION 完整的命令说明
OPTIONS 列举所有可用的参数项
COMMANDS 当命令在执行的时候,可以在程序中执行的命令
FILES 这个命令所参考或链接的某些文件
SEE ALSO 有关这个命令的其他说明
EXAMPLE 一些可以参考的范例
BUGS 是否有相关的错误

我们注意到,在第一行有 “MV(1)” 的字样,括号内的数字代表什么含义呢?它其实是对所查询信息的一个分类。

数字 代表含义
1 用户在shell环境中可操作的标准命令或可执行文件
2 系统内核调用的函数及工具
3 常用的库函数
4 设备文件与设备说明等
5 配置文件或文件格式
6 游戏等娱乐
7 协议信息等
8 系统管理员可用的管理命令
9 与 Linux 内核相关的文件文档

3.2 man page 中的按键操作

man 命令相比于 help 命令最大的优势在于用户可以在 man page 中,通过按键交互进行翻页、查找等操作。常见的按键操作如下所示。

按键 功能
空格键 翻页
/str 向后查找str字符串
?str 向前查找str字符串
n, N n 为搜索到的下一个字符串,N 为搜索到的上一个字符串
q 退出 man page

四、 info 命令

4.1 info 提供的帮助信息

info [option] <command>

info 命令的功能基本与 man 命令相似,能够显示出命令的相关资料和信息。

而与 man 命令稍有区别的是,一方面,info 命令可以获取所查询命令相关的更丰富的帮助信息;另一方面,info page 将文件数据进行段落拆分,并以 “节点” 的形式支撑整个页面框架,并将拆分的段落与节点对应,使得用户可以在节点间跳转而方便阅读每一个段落的内容。

以 info info 为例,我们进入了关于命令 info 的 info page

第一层:顶层节点,展示了关于 info 命令的基本信息及目录信息

第一层 info page 的内容

第二层:一级目录节点,展示了一级目录中的详细内容,其中可能包含了二级目录列表

第二层 info page 的内容

第三层:二级目录节点:展示了二级目录中的详细内容

第三层 info page的内容

以此类推。

4.2 info page 中的按键操作

info page 提供了翻页、节点跳转、搜索等交互操作。

按键 功能
空格键 向下翻一页
回车键 跳到下一个节点
P 跳到上一个节点
U 回到上一层节点
回车键 光标移动到下一层节点处,以回车键进入
B 跳到当前 info page 的第一个节点处
E 跳到当前 info page 的最后一个节点处
/ 在 info page 中进行搜索
Q 退出 info page

(完)

我的公众号:多面手程序员

我的知乎:多面手程序员

欢迎各位关注与交流~

若觉得本文对你有帮助,还请不吝点赞~

发布了3 篇原创文章 · 获赞 0 · 访问量 48

猜你喜欢

转载自blog.csdn.net/MultiSkill/article/details/104187778