[TOC]
前言
当我们学习英语单词的时候,总是需要备上一本《牛津字典》,遇到不懂的单词,一查字典就可以找到该单词的所有信息。同样,Linux 的命令有成百上千条,我们不可能把所有的命令的用法记下来。那么,有没有一本关于 Linux 命令的字典呢?答案是有的,Linux 的 man page 和 info page 就是 Linux 命令的字典。
Command --help
几乎所有的命令,在开发的过程中,开发者就将可以使用的命令语法与参数写入到命令操作过程中。你只需要在命令的后面加上 --help
,就能了解到这个命令的一些基本用法。
使用这个命令,我们只是粗略了解了一下这个命令,有没有能找到这个命令的详细介绍呢?这就需要使用 man
和 info
这两个命令了。
man page
man
是 manual(操作说明)的简写。使用的用法:man Command
。
Eg:man date
执行这个命令后,你就会进入 man 页面。在这个页面,有一些快捷键可以使用:
快捷键 | 功能 |
---|---|
空格键 | 向下翻一页 |
[Page Down] | 向下翻一页 |
[Page Up] | 向上翻一页 |
[Home] | 去到第一页 |
[End] | 去到最后一页 |
/string | 向 下 查找 string 这个字符串 |
?string | 向 上 查找 string 这个字符串 |
n,N | 利用 / 或 ?来查找字符串时,可以用 'n' 来继续下一个查找(无论是 / 或 ?),可以利用 'N' 来 反向 查找 |
q | 结束这次的 man page |
下面详细介绍下各部分内容:
DATE 代表命令名称,(1) 代表一般用户可使用的命令。
关于(1)中的:
数字 | 代表内容 |
---|---|
1 | 用户在 shell 环境可以操作的命令或可执行文件 |
2 | 系统内核可调用的函数与工具 |
3 | 一些常用的函数(function)与函数库(library),大部分为 C 的函数库(libc) |
4 | 设备文件的说明,通常在 /dev 下的文件 |
5 | 配置文件或是某些文件的格式 |
6 | 游戏(game) |
7 | 惯例与协议等,例如 Linux 文件系统、网络协议、ASCII 代码等的说明 |
8 | 系统管理员可用的管理命令 |
9 | 跟内核有关的文件 |
其他一些部分:
Name | 内容说明 |
---|---|
NAME | 简短的命令、数据名称说明 |
SYNOPSIS | 简短的命令语法(syntax)简介 |
DESCRIPTION | 较为完整的说明(仔细看这一部分) |
OPTIONS | 针对 SYNOPSIS 部分中,有列举的所有可能的选项说明 |
COMMANDS | 当这个程序(软件)在执行的时候,可以在此程序(软件)中执行的命令 |
FILES | 当这个程序或数据所使用或参考或链接到的某些文件 |
SEE ALSO | 可以参考跟这个命令或数据有相关的其他说明 |
EXAMPLE | 一些可以参考的范例 |
有的时候会看到 Authors 与 Copyright 等,也有的仅仅只有 NAME 与 DESCRIPTION 。
man page 查询到的这些文件一般放在 /usr/share/man 这个目录中。
还有一些使用 man 的小技巧:
- 使用
man -f Command
可以找到更多关于这个命令的相关信息,如果有 (x) 多个文件,一般会显示数字小的那个。命令whatis
是man -f
的缩写。 - 通过关键词来搜索,可以使用
man -k keyword
,只要命令包含 keyword 的都会显示出来。 命令aprokpos
是man -k
的缩写。
注意:要通过 mandb
命令建立 whatis 数据库才能使用以上命令
info page
除了 man ,Linux 还有 info 这个工具可以使用。基本上,info 与 man的用途差不多,都是用来查询命令或是文件格式。info 与 man 最大的区别是,man page一次性输出全部信息,而 info page 则是将文件数据拆分成一个一个段落,每个段落用自己的页面来编写,并且在各个页面中还有类似网页的超链接来跳转到各个不同的页面中,每个独立页面也被称为一个节点。支持 info 命令的文件默认放置在 /usr/share/info/ 目录中。
在 info 的第一行,显示了很多信息,分别表示:
- File:代表这个 info page 的数据来源是 xxx 文件提供的
- Node:代表目前的这个页面属于 x 节点,意思是 xxx 中包含很多内容,而 x 仅是 xxx文件中的一个节点内容而已
- Next:下一个节点的名称为 xxx ,可以 按 'N' 到下一个节点去
- Up:回到上一层的节点总揽页面,可以按 'U' 回到上一层
- Prev:前一个节点
从第一行可以知道这个节点的内容,来源与相关链接的信息。你可以通过直接按 N
、P
、U
到下一个、上一个与上一层的节点。
另外,无论你在哪个页面,只要不知道什么使用 info ,直接按 h
,系统就能够提供一些基本按键功能的介绍。
最后,讲讲 Menu 这个东西,它包含 Getting Started 等,我们可以使用上下左右键来将光标移动到该文字或 【*】上,然后按下 Enter 键,就可以前往该小节,也可以按 Tab 键在节点间移动。
一些 info 的快捷键:
按键 | 功能 |
---|---|
空格键 | 向下翻一页 |
[Page Down] | 向下翻一页 |
[Page Up] | 向上翻一页 |
[Tab] | 在节点之间移动,有节点的地方,通常会用 * 显示 |
[Enter] | 当光标在节点上面时,按下 Enter 键可以进入该节点 |
b | 移动光标到该 info 界面当中的第一处 |
e | 移动光标到该 info 界面当中最后一个节点处 |
n | 前往下一个节点处 |
p | 前往上一个节点处 |
u | 向上移动一层 |
s (/) | 在 info page 当中进行查找 |
h, ? | 显示帮助选项 |
q | 结束这次的 info page |
写在最后
学习,使用 Linux 并不需要把所有命令都背下来,只需要一些常用的,重要的就行,剩下的可以通过 man page 和 info page 查找说明文档。