前言
man
是Linux的一个非常强的的命令,它的全称为manual(手册)
当我们遇到忘记的指令,可以直接通过man指令来获得提示
举个例子,当我们输入man grep
,就会获得以下界面。为了快速检索到我们想要的关键字信息,可以输入/text
,从而快速的匹配到text,获得对应信息
接下来,让我们对man的内容进行解析
man文档的内容结构
section类别
上图中,我们可以看到左上角的GREP(1), 这表示,此时所显示的section类别为第1种类别:可执行的程式或是shell 指令
每一个命令都会有对应的section类别,有的命令具有多个section类别
除了第一种类别外,还有别的类别,它们的数字编号以及对应的含义入如下:
1:可执行的程式或是shell 指令。
2:系统呼叫(system calls,Linux 核心所提供的函数)。
3:一般函式库函数。
4:特殊档案(通常位于/dev)。
5:档案格式与协定,如 /etc/passwd
6:游戏。
7:杂项(巨集等,如man(7)、groff(7))。
8:系统管理者指令(通常是管理者 root 专用的)。
9:Kernel routines(非标准)。
假若指令拥有多个section,我们可以指定查看指令的哪一种类别
- 查询passwd(1)
man passwd
- 查询 passwd(5)
man 5 passwd
Synopsis
Synopsis是man手册的一个字段,在它下面会列出该指令的概要
Description
Description是man手册的一个字段,在它下面会给出该指令的完整描述
其它
除了上述重要的内容外,还有一些别的字段,比如:
Environment
字段,Environment
字段下面会显示该命令使用的环境变量author
字段,author
字段下面标识该部分的文档的作者- 等等
man 常用指令
man <命令>
如果有(1)的话,会优先显示(1)的章节。比如passwd具有(1)和(5),下面的命令会默认显示(1)的内容
man passwd
指定显示某个章节的内容,比如passwd的(5)
man 5 passwd
man -aw <指令>
如果不知道有哪几个section可供查询,可以输入以下指令:
man -aw <指令>
显示如下内容:
因此我们可以判断,passwd有(1)和(5)两个章节
man -k <指令>
man -k <指令>
可以帮助我们线上搜索所有相关内容
在下图中,左边是指令和section,右边是对应的简要说明
一些别的资料
man 手册现在有翻译的中文版本,可以见github:https://github.com/man-pages-zh/manpages-zh