linux man page
- 1.man命令
- 2.man信息分类
- 3.man -f和whatis命令
- 4.指定信息分类编号
- 5.man -k和apropos命令
- 6.man page章节
- 7.man page快捷键
1.man命令
回到顶部
[peter@initroot ~]$ man ls
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alphabetically if none
of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
--author
with -l, print the author of each file
...省略...
大家可以自行比较和help输出的区别。man的输出页面称为man page,man page中的信息都是从文件中读取出来的,这些文件一般都是存放在/usr/share/man目录下, 不同的distribution man page文件的路径可能会有差异。可以通过修改man的配置文件设置man page的搜索路径。 man的配置文件为/etc/man_db.conf(有的版本为man.conf或manpath.conf或man.config等)。 这些信息都可以在man man中查询到。
进入man page后,可以按空格键往下翻页,按下q键即可退出man page。
2.man信息分类
回到顶部编号 意义上面的数字和帮助信息分类对应关系需要牢记于心,特别是1,5,8这三项。
1 标准命令的说明手册,即用户在shell环境中可以操作的命令或可执行文件;
2 系统调用的说明手册,由内核提供给应用程序的功能函数;
3 库函数(library)手册,大部分为C的函数库(libc);
4 设备特殊文件的说明手册,通常在/dev下的文件;
5 系统配置文件的格式说明;
6 游戏(games)手册;
7 一些杂项说明,包括惯例与协议,例如Linux文件系统、网络协议、ASCII code等的说明;
8 系统管理方面的命令说明,这些命令只有root用户才有权限使用; 9 kernel相关例程说明文件;
在用man查看相关帮助信息的时候,可以通过数字快速的判断出man page的说明对象,
例如上面LS(1)表示该man page是针对一条命令的说明手册, 那么我们就可以迅速判断出ls是一条可以在shell下执行的命令。
例如想要查看null的说明,man输出的信息为NULL(4),意思是该页是针对设备文件的说明手册, 那么我们就可以快速判断出原来null是一个设备文件, 在man的说明描述中会给出null文件的绝对路径/dev/null以及对该文件的详细说明。
3.man -f和whatis命令
回到顶部但是ls有可能也和其他分类信息有关呢。如何查出和ls相关的所有分类信息呢?可以使用man的-f选项,列出和关键字相关的所有分类:
[peter@study ~]$ man -f ls ls (1) - list directory contents LS (6) - display animations aimed to correct users who accidentally enter LS instead of ls .或
[peter@study ~]$ whatis ls ls (1) - list directory contents LS (6) - display animations aimed to correct users who accidentally enter LS instead of ls .上面whatis和man -f是完全等价的,这两个可以交换使用。
不过在whatis使用之前需要先用mandb命令建立whatis数据库:
[peter@study ~]$ mandbman -f列出了和ls相关的所有分类信息,第一行ls (1)我们已经很清楚了,就是告诉你ls就是一个标准的命令,用来列出目录内容。
第二行LS (6),注意LS是大写字母,也就是说man -f会把和关键词相关的所有分类信息都列出了来,不区分大小写。
对应上表的6,可以看到LS (6)是和游戏有关的,后面给出了解释,原来LS可以显示动画,目的是为了防止用户在输入ls命令的时候,误输入大写的LS。
如果用户误输入了大写LS,那么界面就会显示一个动画,所以这还真是一条好玩的命令,我们运行一下试试:
可以看到界面上竟然驶过一列火车,这还真是意外之喜,原来linux下也有这么好玩的命令。linux下还有很多好玩的命令参考。
如果我想对LS进一步了解,就可以使用man LS查看了,由于man是区分大小写的,所以man列出的就会是LS (6)的信息。
4.指定信息分类编号
回到顶部[peter@study ~]$ man -f man man (1) - an interface to the on-line reference manuals man (7) - macros to format man pages可以看到和man有关的信息有两类man (1)和man (7),可以看到man除了是一条命令外,还是一个格式化man page的宏。
但是在用man man查询man信息的时候只列出了man (1)的信息,怎么查看man (7)的信息呢?
只需要指定信息分类编号就可以了:
[peter@study ~]$ man 1 man #列出man(1)的信息 [peter@study ~]$ man 7 man #列出man(7)的信息通过指定分类信息编号,man就会读取并显示和该分类相关的man page信息了。
如果不指定编号,man按照配置文件/etc/man_db.conf中的设置顺序搜索man page,先找到哪个就显示哪个。
一般man会先找到编号小的man page, 所以man man最先找到的是和man(1)有关的man page文件,man就会只显示man(1)的信息。
5.man -k和apropos命令
回到顶部如果只要存在'man'关键字的man page就列出来可以使用-k选项:
[peter@study ~]$ man -k man npm (1) - javascript package manager npm-cache (1) - Manipulates packages cache npm-config (1) - Manage the npm configuration files ...省略...可以看到只要man page中含有'man'这三个字符,man -k都会列出来。这在某些情况是非常有帮助了,例如只记住了某条命令的部分字符,这时候就可以通过man -k查询了。
另外一个和man -k等价的命令,就是apropos命令:
[peter@study ~]$ apropos man npm (1) - javascript package manager npm-cache (1) - Manipulates packages cache npm-config (1) - Manage the npm configuration files ...省略...和whatis一样,在使用之前也需要用mandb建立whatis数据库。
6.man page章节
回到顶部按照顺序这些章节包括但不限于NAME, SYNOPSIS, CONFIGURATION, DESCRIPTION, OPTIONS, EXIT STATUS, RETURN VALUE, ERRORS, ENVIRONMENT, FILES, VERSIONS, CONFORMING TO, NOTES, BUGS, EXAMPLE, AUTHORS, COPYRIGHT, SEE ALSO等
以上并不是所有的章节都会存在,有的可能只有NAME与DESCRIPTION等章节。
以下是对几个经常出现的章节的简单说明:
man page各章节说明 | |
---|---|
章节名称 | 章节说明 |
NAME | 简短的命令、数据名称说明 |
SYNOPSIS | 简短的命令下达语法(syntax)简介 |
DESCRIPTION | 较为完整的说明,这部分最好仔细看看! |
OPTIONS | 针对 SYNOPSIS 部分中,有列举的所有可用的选项说明 |
COMMANDS | 当这个程序(软件)在执行的时候,可以在此程序(软件)中下达的命令 |
FILES | 这个程序或数据所使用或参考或连结到的某些文件 |
SEE ALSO | 可以参考的和这个命令或数据有相关的其他说明! |
EXAMPLE | 一些可以参考的范例 |
1. 先察看NAME,大体了解的意思;
2. 再详看一下DESCRIPTION,这个部分会提到很多相关的资料与使用时机,从这个地方可以学到很多小细节;
3. 而如果这个命令其实很熟悉了,那么主要就是查询OPTIONS! 可以知道每个选项的意义,这样就可以下达比较细部的命令内容!
4. 最后看一下SEE ALSO跟这个资料有关的资料和文件;
5. 某些说明内容还会列举有关的文件FILES来提供我们参考!这些都是很有帮助的!
7.man page快捷键
回到顶部/为向下搜索,?为向上搜索,n为继续搜索,N为向相反方向搜索,总之这些搜索指令和vim中的是一样的。
直接按下q就可以离开man page并回到命令行。
man page常用的按键组合键如下所示:
man page快捷键 | |
---|---|
快捷键 | 快捷键说明 |
空格键 | 向下翻一页 |
[Page Down] | 向下翻一页 |
[Page Up] | 向上翻一页 |
[Home] | 到第一页 |
[End] | 到最后一页 |
/string | 向下搜寻string,例如搜索ls,就输入/ls |
?string | 向上搜寻string |
n或N |
利用/或?搜寻字符串时,可以用n来继续下一个搜寻(不论是/或?),利用N来进行反向搜寻。 例如/ls搜寻ls, 按下n继续往下查询,用N往上查询。 ?ls向上查询ls, 按下n继续向上查询,用N反向查询。 |
q | 退出man page,返回命令行 |
initroot编辑整理,转载请注明www.initroot.com
100次点赞
100次阅读