因为 Linux 下的指令有很多,我们不可能每个都记住,所以我们需要查阅相关的说明文档,Linux 是个开源的软件,很多开发者为了让大家能够了解指令会制作很多文件,我们可以用指令直接查阅这些文档。
–help 求助
几乎 Linux 上面的指令,开发者在开发的时候都将可使用的指令语法和参数都放到 help 里,我们学会使用 --help
找个选项,就能对该指令的用法有一个大致的理解。但是这个指令不够详细,只要简单的解释,但没有更详细的用法说明,这个时候就要通过 man page
了。
man page
除了 --help
选项,Linux 中还有更加详细的线上求助指令 man
,这个是 manual(操作说明)的缩写。只要我们下达 man date
就能看到 date 的详细说明。
首先我们会看见“DATE (1)”,DATE 就是指令的名称,这个(1)就代表了这个指令是什么类型:
代号 | 代表内容 |
---|---|
1 | 使用者在 shell 环境中可以操作的指令或可执行文件 |
2 | 系统核心可调用的函数与工具等 |
3 | 一些常用的函数(function)与函数库(library),大部分为 C 的函数库(libc) |
4 | 设备文件的说明,通常在/dev 下的文件 |
5 | 配置文件或是某些文件的格式 |
6 | 游戏(games) |
7 | 惯例与协定等,例如 Linux 文件系统、网络协定、ASCII code 等的说明 |
8 | 系统管理员可用的管理命令 |
9 | 跟 kernel 有关的文件 |
上述的表格内容可以用 man man 指令来获得更详细的说明,通过这个表格就会知道指令/文件代表的基本意义是什么。 |
man page 的内容分为好几个部分来介绍该指令。基本上,man page 大致分为以下几个部分:
代号 | 内容说明 |
---|---|
NAME | 简短的指令、数据名称说明 |
SYNOPSIS | 简短的指令下达语法(syntax)简介 |
DESCRIPTION | 较为完整的说明,这部分最好仔细看看! |
OPTIONS | 针对 SYNOPSIS 部分中,有列举的所有可用的选项说明 |
COMMANDS | 当这个程序(软件)在执行的时候,可以在此程序(软件)中下达的指令 |
FILES | 这个程序或数据所使用或参考或链接到的某些文件 |
SEE ALSO | 可以参考的,跟这个指令或数据有相关的其他说明 |
EXAMPLE | 一些可以参考的范例 |
上面就是对 man page 内容的大致介绍,它也有很多快捷键来方便我们的查阅:
按键 | 进行工作 |
---|---|
空白键 | 向下翻一页 |
[Page Down] | 向下翻一页 |
[Page Up] | 向上翻一页 |
[Home] | 去到第一页 |
[End] | 去到最后一页 |
/string | 向“下”搜寻 string 这个字符串 |
?string | 向“上”搜寻 string 这个字符串 |
n, N | 当利用 / 或 ? 来搜寻字符串时,利用 n 来向“下”查询,利用 N 来向“上”查询 |
q | 结束这次的 man page |
既然有 man page,那么就肯定有一些文件数据,我们才能够通过 man page 来读出来。这些文件就放在/usr/share/man 这个目录里。我们也可以通过改变 man page 的配置文件来修改他的搜索路径,这个配置文件就在/etc/man_db. conf (有的版本为 man. conf 或 manpath.conf 或 man. config 等)。
我们要是记得指令的全名还好,但是指令实在是太多我们没发全部记住,可能只记得部分或者功能,这个时候想看线上求助就不太方便了,刚好 man page 有几个选项就能做到这一点,我列举其中好用的两个选项:
man -f xxx
使用 -f
选项可以获得更多的与指令相关的信息:
如上图,使用 man -f
能够显示出这条指令的意义和简短说明。 图中有两个 man 指令,当我们使用 man man
时会先显示 man(1) 的说明,因为先显示数字小的,想看 man(7)的说明就要带上他的数字:man 7 man
就可以看 man(7)的说明文档了。
man -k xxx
当我们记不清指令的全面但知道功能时,我们可以使用 -k
选项,当这个指令的说明文档包含这些字眼时就会把指令列出来:
如上图,使用 man -k
能够当指令的说明包含了 date 这个字眼就会把指令列出来,还是很方便的。
实际上,这两个选项可以用以下两个指令代替:
whatis [指令或者是数据] # 相当于 man -f [指令或者是数据]
apropos [指令或者是数据] # 相当于 man -k [指令或者是数据]
而要注意的是,这两个特殊指令要能使用,必须要有创建 whatis 数据库才行!这个数据库的创建需要以 root 的身份下达如下的指令:
mandb # 旧版的 Linux 这个指令是使用 makewhatis