Linux Man手册的使用示例

作者: ac_dao_di 2017-02-20 10:01:09

Linux的命令非常多,很多人在学一个命令时,首先想到的是使用百度或者谷歌,或者参考书上给出怎么使用的例子。但授人以鱼不如授人以渔,通过man该命令可以得到关于该命令的有用信息。当我们学会使用man文档时,将大大提升使用命令的能力。这里,本人认为更多人是不知道列出的选项怎么用,有什么规律,导致不想使用man。为此,本文通过mkdir命令文档做一个示例,希望对读者们有所帮助。


 


一、man命令


对于man,将各类命令分为9个板块:
















































板块

含义

1

可执行文件或者shell命令

2

系统调用(内核提供的函数)

3

库函数

4

特别的文件(通常在/dev)

5

文件格式,如/etc/passwd

6

游戏

7

杂项(包括宏包)

8

系统管理员命令(通常给root用户使用)

9

内核例程(非标准例程)



那么,这部分和我们有什么关系呢?事实上,当我们man一个命令的时候,默认会从这些模块中查找,但找到的可能不是我们想要的。例如


man mkdir


得到:




我们确实得到了mkdir命令的帮助文档。但是如果我要查询mkdir这个系统调用呢?这时就不是我想要的了。从上面表格,可以知道系统调用是在第二部分,这时就要用如下命令:


man 2 mkdir




这时看到的是MKDIR(2),表示是系统调用这个板块的。要知道,man在没有指定板块时,将使用一种默认的顺序查找这些板块中的命令,只返回含有该命令的第一个文档。当指定板块时,只从该板块中查找。所以,当我们man得不到想要的文档时,就要给出板块号了。


下面,我们来对剩余的一些板块的命令举一个例子。


man 3 fread




man 4 tty




man 5 passwd




这时展示的是/etc/passwd的格式。


 


二、man mkdir


这里以man mkdir为例,解释这个文档里面的内容。为了方便,这里对所有非空行添加了行号。


1 MKDIR(1) User Commands MKDIR(1)


2  NAME


3 mkdir - make directories


4  SYNOPSIS


5 mkdir [OPTION]... DIRECTORY...


6  DESCRIPTION


7 Create the DIRECTORY(ies), if they do not already exist.


8 Mandatory arguments to long options are mandatory for short options too.


9 -m, --mode=MODE


10 set file mode (as in chmod), not a=rwx - umask


11 -p, --parents


12 no error if existing, make parent directories as needed


13 -v, --verbose


14 print a message for each created directory


15 -Z set  SELinux  security context of each created directory to the default


16 type


17 --context[=CTX]


18 like -Z, or if CTX is specified then set the SELinux or SMACK  security


19 context to CTX


20 --help display this help and exit


21 --version


22 output version information and exit


23  AUTHOR


24 Written by David MacKenzie.


25  REPORTING BUGS


26 GNU coreutils online help:


27 Report mkdir translation bugs to


28  COPYRIGHT


29 Copyright  © 2014 Free Software Foundation, Inc.  License GPLv3+: GNU GPL ver?


30 sion 3 or later .


31 This is free software: you are free to change and redistribute it.   There  is


32 NO WARRANTY, to the extent permitted by law.


33  SEE ALSO


34 mkdir(2)


35 Full documentation at:


36 or available locally via: info '(coreutils) mkdir invocation'


37  GNU coreutils 8.23  November 2014 MKDIR(1)


2.1.man命令文档的构成


可以看出,文档有几个部分:








































部分

解释

NAME

命令的名字

SYNOPSIS

命令的格式

DESCRIPTION

语法,主要是一些选项

AUTHOR

命令的作者

REPORTING BUGS

报告bug的链接

COPYRIGHT

版权

SEE ALSO

更多参考



一般情况下还可能有其他部分,如EXAMPLES,会给出示例。首先,来看看第5行:


mkdir [OPTION]… DIRECTORY…


这一行定义了命令的使用格式。[]表示可选,也就是可以添加OPTION,也可以不用添加OPTION。而DIRECTORY不可以缺少,必须至少有一个。…表示可以有多个。如:


a.无选项,一个DIRECTORY


mkdir mk1


b.无选项,两个DIRECTORY


mkdir mk2 mk3


c.两个选项,两个DIRECTORY


mkdir -m 775 -p mk4/tmp mk5


结果:




2.2.参数的使用


接着看第8行:


Mandatory arguments to long options are mandatory for short options too.


这句话的意思是:对于长选项必不可少的参数对短选项来说也是必不可少的。


通常一个选项可以用-开头,给出首个字母,这时是短选项。也可以用–开头,给出全名,这时是长选项。如第9行:


-m, –mode=MODE


表示既可以用-m这个短选项,也可以用–mode这个长选项。


另外,后面有一个参数MODE,这个参数是指定被创建目录的权限,而且这个参数是必不可少的,因为没有加[]。这时的用法是-m MODE 或者–mode=MODE。但对于短选项来说,在-m MODE之间的空格一般可以去掉,即变成-mMODE。




不管哪种情况,MODE这个参数不能去掉。上面提示丢失了参数,出错。


2.3.使用剩余的选项


剩余的选项类似上面的情况,使用示例如下:




 


本文永久更新地址:http://www.linuxdiyf.com/linux/28548.html

相关资讯