本文转载自微信公众号「Linux开发那些事儿」,作者LinuxThings 。转载本文请联系Linux开发那些事儿公众号。
Linux上命令非常多,不同的命令选项实现不同的功能,在日常的使用的过程中,不可能记住所有的命令选项,经常使用的命令,过段时间不用也会遗忘,又或遇到了一个陌生的命令,怎样才能知道它有哪些常用参数以及各个参数的说明呢?
Linux中万能帮助命令 man 可以完美解决以上的问题,man 可以实时的查询命令的帮助文档,从中你可以了解有关命令的所有参数以及用法说明。有了它,再也不用担心记不住命令的各种选项了以及用法了。
man帮助手册的安装
man 是 manual 的缩写,Linux 中默认已经安装,但是有时会出现 No manual entry for xxx in section xx的错误,这是由于手册不完整,可以通过以下命令重新安装即可解决。
- yum install man-pages
获得帮助的方法
使用 man 命令名 命令就可以获得指定命令的帮助, 下面是获得命令 pwd 帮助的例子
上图中执行 man pwd 命令之后,输出了 pwd 命令的语法以及各个选项的用法说明, 按 q 键可退出帮助
下面是 man帮助页内常用快捷键及介绍,查看帮助的时候经常会用到
- ↑:向上移动一行
- ↓:向下移动一行
- 空格或f:向下翻一页
- b: 向上翻一页
- /: 从上往下查找, n 下一个匹配位置,N 上一个匹配位置,用法:/ 查找的内容 回车
- &/: 从下往上查找,n 下一个匹配位置,N 上一个匹配位置,用法:&/ 查找的内容 回车
帮助页常用的部分
每一个 man 帮助页都包含 NAME、SYNOPSIS、DESCRIPTION、OPTIONS 这几个部分,下面列出了每个部分表示的意义
- NAME: 命令名字以及简要的介绍
- SYNOPSIS:命令的语法格式
- DESCRIPTION:命令的详细说明
- OPTIONS:命令各个选项及其说明
帮助的章节说明
man 命令本身也是一条命令,可以通过 man man 获得 man 的帮助
上图中,红色框部分的 MAN(1) 字符串中的数字表示第几章节,这里图中表示第一章节
图中绿色框部分是man帮助的各章节说明,可以看出总共有九章
这九章是什么意思呢,在获取Linux帮助的时候,涉及到的命令非常的多,所以就对这些命令做了分类,总共分为九章,具体的章节信息如下:
- 1: 终端shell命令,就是普通命令
- 2: 系统调用,比如 open, write 函数,通过这个可以很方便的查到函数的信息,比如:所在头文件、函数功能描述、函数参数、函数返回值以及返回值的意义
- 3:库调用,比如 fread、fwrite函数
- 4:/dev目录中的设备文件
- 5:配置文件格式及说明,比如:/etc/passwd 文件的格式说明
- 6:游戏
- 7:宏约定
- 8:系统管理命令,一般只允许root使用,比如: ifconfig命令
- 9:内核例程,目前没用到
通过 man 章节编号 命令名 可以获取命令指定章节的帮助,例如:第一章节的分类是终端shell命令, 假如我们想获取 ls 命令第一章节的帮助,可以执行 man 1 ls命令,当我们使用第一章节的时候,可以省略 man 1 ls中的数字 1,最后命令就变成了 man ls。
你可能有个疑问,man为什么要分成九个章节的帮助呢?
是因为命令、系统调用、文件等在不同的章节的帮助中可能出现重名的情况,如果出现重名,只使用 man 命令名 是无法区分具体是哪个章节的帮助。
例如:passwd 是设置用户密码的命令,/etc/passwd 是密码配置文件,二者名字都是passwd,当使用 man passwd 获取帮助时就很难区分是 passwd命令的帮助还是 /etc/passwd配置文件的帮助。
从上面的例子中可以看出,通过 man 1 passwd 获取的是passwd命令的帮助,通过 man 5 passwd获取的是/etc/passwd配置文件的帮助
逐个查看与命令匹配的帮助页
有时候对于一个命令的名字,我们不知道它是终端命令、系统调用、还是配置文件,这时可以用 man -a 命令名 从与命令名字匹配的章节列表中逐个的查看帮助信息
上面的例子中, man -a passwd 命令是从与命令名字匹配的章节列表中逐个章节的查看 passwd 的帮助信息
首先查看的是第一章节的帮助,此时 passwd 表示修改用户密码的shell命令
紧接着查看的还是第一章节的帮助,此时 passwd 表示 OpenSSL 模块中计算密码哈希值的命令
最后查看的是第五章节的帮助,此时 passwd 表示 /etc/passwd 配置文件
在查看的过程中,如果不想要查看此帮助时,可以按 Ctrl + D 跳过当前的帮助,进入下一个帮助的位置,按````q退出当前查看,然后再按回车键可进入下一个帮助的位置,按Ctrl + C ```直接退出帮助。
其他帮助命令
Linux中帮助命令除了 man 之外,还有 help 和 info , help 只是简单的罗列命令的各个选项及其简要介绍,比 man 更简洁,info 对命令有非常详尽的说明,比 man 更详细,可以作为 man 的补充。
小结
本章介绍了 man 帮助命令常见用法,更多的功能请参考Linux帮助手册。