man既是一个男人,又是*nix世界友好的手册帮手。本文将阐述如何使用man手册。
版权声明
Copyright 2016-2016 Program Dog
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled 'GNU Free Documentation License.
第7章 man手册
这一章介绍如何在Unix或者Linux上使用man手册。
你将会学到命令man以及命令如whereis,whatis和mandb。
大多数Unix文件和命令都有详细的man手册。由于Unix或Linux发行版不同,同一命令参数也就可能不一样,这时man帮助命令就大有好处了。
7.1. man $命令
输入man后面跟着一个命令(你想要查看它用法的那个命令)就可以看到帮助信息。按q退出man手册。有一些man手册还包含了一些用法示例(在结尾)。
paul@laika:~$ man whois
Reformatting whois(1), please wait...
注:如果找不到whois命令,可能是你的系统没有安装该命令,试试 man ls。
7.2. man $配置文件
大多数配置文件都有自己的man手册。
paul@laika:~$ man syslog.conf
Reformatting syslog.conf(5), please wait...
注:如果这个命令执行失败,可能是你系统里面没有这个配置文件,可以通过执行
ls /etc/*.conf 找到很多配置文件,然后在执行 man $你找到的配置文件路径。
7.3 man $守护程序
大多数守护程度(后台运行的程序)也有man手册。
paul@laika:~$ man syslog
Reformatting syslogd(8), please wait...
注:可以通过ps jx命令查看进程,其中TPGID为-1的就是守护进程。
7.4. man -k (apropos) 与..相关
man -k (或者apropos)会列出man手册包含的与之相关的命令解释。
paul@laika:~$ man -k syslog
lm-syslog-setup (8) - configure laptop mode to switch syslog.conf ...
logger (1) - a shell command interface to the syslog(3) ...
syslog-facility (8) - Setup and remove LOCALx facility for sysklogd
syslog.conf (5) - syslogd(8) configuration file
syslogd (8) - Linux system logging utilities.
syslogd-listfiles (8) - list system logfiles
7.5. whatis
如果只想看man手册关于某命令的简介,可以用whatis。
paul@u810:~$ whatis route
route (8) - show / manipulate the IP routing table
7.6. whereis
如果想知道man手册描述某命令的文件存放位置,可以用whereis。
paul@laika:~$ whereis -m whois
whois: /usr/share/man/man1/whois.1.gz
可以通过man命令查看此文件。
paul@laika:~$ man /usr/share/man/man1/whois.1.gz
7.7. man 分组
是否注意到了man手册(第一行)小括号里面的数字了?通过man man可以知道那代表的是组别编号。比如可执行的程序或shell命令在第1组。
1 可执行程序或shell命令
2 系统调用(由内核提供的函数)
3 类库调用(程序类库中的函数)
4 文件格式和规范 如:/etc/passwd
5 游戏
6 杂项(包括宏和规范)如:man(7)
8 系统管理员命令(通常只有root有)
9 内核(无标准)
7.8. man $分组 $文件
因此,当你查询passwd命令的man手册时候,你看到的是passwd(1),但是你查询passwd file(/etc/passwd)的man手册的时候,你看到的是passwd(5)。
[paul@RHEL52 ~]$ man passwd #查看分组1中的passwd
[paul@RHEL52 ~]$ man 5 passwd #查看分组5中的passwd
7.9. man man
如果你想知道关于man的更多信息,去读美(她)妙(妈)的(的)手册(RTFM)。
不幸的是,man并不认识任何人,比如女人:
paul@laika:~$ man woman
No manual entry for woman
7.10. mandb
如果你确信你要找的man信息确实存在,但是又man不出来,Debian/Mint上试试mandb。
root@laika:~# mandb
0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
0 old database entries were purged.
在Centos/Redhat运行makewhatis。
[root@centos65 ~]# apropos scsi
scsi: nothing appropriate
[root@centos65 ~]# makewhatis
[root@centos65 ~]# apropos scsi
hpsa (4) - HP Smart Array SCSI driver
lsscsi (8) - list SCSI devices (or hosts) and their attributes
sd (4) - Driver for SCSI Disk Drives
st (4) - SCSI tape device
注:
1.本文由Program Dog翻译自 http://linux-training.be
2.本文原始链接:https://program-dog.blogspot.com/2016/11/linux-fun-char07-man-pages.html
great!
回复删除谢谢捧场 :)
回复删除