目录
- Linux帮助命令简介
- help 命令与 --help 参数
- man 命令
- info 命令
一、Linux帮助命令简介
Linux 系统的命令数量有上千个,每个命令又有若干个甚至数十个参数指出不同情景下的使用。
有一些命令是我们日常工作需要经常使用的,即便不是特意背命令,也会因熟能生巧而印象深刻。但是对于那些不熟悉的命令,或者是熟悉命令的不熟悉的参数呢?
当然,我们不需要耗费大量精力去记忆这些命令和参数,只需要正确使用Linux 的帮助命令,就能够快速地定位到自己想要的命令和参数。
Linux 的帮助命令主要包含三个:
- help 命令与 --help 参数
- man 命令
- info 命令
接下来,将介绍这三个命令的使用方法及区别。
二、help 命令与 --help 参数
2.1 help 命令
help 命令能够在控制台上打印出我们需要的命令的帮助信息,使用方式为:
help <command>
例如,我们要查看 cd 命令和 mv 命令的帮助命令,使用上述形式的 help 命令时能够得到如下输出:
为什么会出现上述差异?为什么不能查看 mv 命令的帮助信息?这里需要引入一个“内建命令”和“外部命令”的概念
2.2 内建命令与外部命令
Linux 的内建命令是 shell 程序的一部分,Linux 系统加载运行时就被加载并驻留在系统内存里的,因此执行速度较快。
Linux 的外部命令是通过额外安装获得的命令,不随系统一起被加载到内容中,运行速度慢但功能强大。
使用 type 命令可以查看该命令是内建命令还是外部命令
type <command>
例如上文中,提及的 cd 命令和 mv 命令,我们看一下它们分别属于什么类型的命令
从上述信息中,我们发现 cd 命令是一个内建命令,mv 命令是一个外部命令。多次尝试后,可以发现,上述形式的 help 命令只能用于内建命令的帮助信息查询。
我们可以尝试查看 help 命令本身的帮助文档
help help
不难看出,只有内建命令能够使用下述形式的 help 命令查询帮助文档。
help [option] <command>
2.3 – help 参数
若是想用 help 来查询外部命令的帮助文档,上述形式是行不通的,但是可以用下述形式查询外部命令的帮助文档
<command> --help
**需要注意的是,这两个形式的 help 并不能完全等同。**前一种通过执行内建的 help 命令查看帮助文档,后一种是通过命令后携带参数 help 的方式来展示所查询命令的帮助文档。我们不妨尝试查询外部命令 mv 的帮助文档:
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 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 命令的基本信息及目录信息
第二层:一级目录节点,展示了一级目录中的详细内容,其中可能包含了二级目录列表
第三层:二级目录节点:展示了二级目录中的详细内容
以此类推。
4.2 info page 中的按键操作
info page 提供了翻页、节点跳转、搜索等交互操作。
按键 | 功能 |
---|---|
空格键 | 向下翻一页 |
回车键 | 跳到下一个节点 |
P | 跳到上一个节点 |
U | 回到上一层节点 |
回车键 | 光标移动到下一层节点处,以回车键进入 |
B | 跳到当前 info page 的第一个节点处 |
E | 跳到当前 info page 的最后一个节点处 |
/ | 在 info page 中进行搜索 |
Q | 退出 info page |
(完)
我的公众号:多面手程序员
我的知乎:多面手程序员
欢迎各位关注与交流~
若觉得本文对你有帮助,还请不吝点赞~