program-dog

2016年11月20日星期日

[Linux Fun]:7 如何查看man手册

man既是一个男人,又是*nix世界友好的手册帮手。本文将阐述如何使用man手册。

man手册

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


2 条评论 :