分享

如何看懂man手册

 笑观云卷云舒 2017-05-05
man手册的阅读障碍一般是:

1.英语不好,读不懂各个参数的作用;

2.不明白命令参数该如何组合

3. ......害怕

这篇文章不直接说明某个命令的用法,只是告诉一些需要的人怎么读懂man手册中提供的命令格式,如果你想知道某个命令的作用和使用实例,请Ctrl+w。

一.man手册的内容结构(说明书页的格式):

标题含义
Name命令的名称和用途(摘要)
Synopsis命令语法(摘要)
Description完整描述
Environment命令使用的环境变量
Author作者
Files对该命令重要的文件列表
See also查看相关的信息的位置
Diagnostics可能的错误和警告
Bugs错误、缺点、警告
其中查看命令用法的时候我们最关心的应该是第二和第三项。

二·man手册中Linux命令语法的形式描述:

options:命令选项有两种形式:长选项(--)和短选项(-)

长选项: 用 -- 引导,后面跟完整的单词,如 --help

短选项: 用 - 引导,后面跟单个的字符, 如 -a

多个短选项可以组合使用,例如:-h -l -a == -hla

但是长选项不能组合使用,如 --help后面就不能再跟另外一个单词了。

options 也可以有自己的参数,可称为arguments,(注意,选项与选项之间,选项与参数之间,参数与参数之间必须有空格!)而且,命令的选项和参数所使用的符号也有相应的含义:

1.方括号中的项是可选的;

2.不在方括号或是在大括号中的项是必选项(也有说<>括起来的,不过我没还见过);

3.黑体(还是粗体?)字必须按原样准确键入,这一类可能是命令名,标志和文字字符;

4.斜体字必须用适当的值代替(不显示斜体字的系统上通常用下划线代替),就如变量一般,需要根据情况自己添加适当的值;

5.后面接省略号(…)的参数可以多次重复;

6.如果一个单独的选项和一个参数组合在一起,那么该选项和参数必须同时使用;

7.由 |(竖线)字符分开的两个或多个项,表示可以从这个列表中选择一个项;

几个简单例子:

find命令是linux下的查找文件命令,其man手册的SYNOPSIS的格式为:

  1. find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]  


其中所有的选项都用'[]'括起来,说明所有选项都是可选的(当然,只是这样就没办法实现它的作用了);
path是可选项,其默认值是当前目录,而且被'...'修饰,说明可以添加多个目录;

-D debugopts说明-D选项之后还应加上相应的参数;

[a|b]说明a和b可以选其中一个也可以不选;

{a|b}则说明a和b之间必须要选一个。

三:命令实例分析

mkdir命令,man mkdir中

  1. NAME  
  2.        mkdir - make directories  
表示mkdir命令是用来创建目录的

  1. SYNOPSIS  
  2.        mkdir [OPTION]... DIRECTORY...  
表示mkdir 后面可选option选项,但必须有需要创建的目标目录,可跟多个

  1. DESCRIPTION  
  2.        Create the DIRECTORY(ies), if they do not already exist.  
  3.   
  4.        Mandatory arguments to long options are mandatory for short options too.  
  5.   
  6.        -m, --mode=MODE  
  7.               set file mode (as in chmod), not a=rwx - umask  
  8.   
  9.        -p, --parents  
  10.               no error if existing, make parent directories as needed  
  11.   
  12.        -v, --verbose  
  13.               print a message for each created directory  
  14.   
  15.        -Z, --context=CTX  
  16.               set the SELinux security context of each created directory to CTX  
  17.   
  18.        --help display this help and exit  
  19.   
  20.        --version  
  21.               output version information and exit  
-p和-v选项并无特殊,其后面不用跟参数,具体作用请百度,(我已经百度过了,不过不告诉你)

-m , --mode=MODE和-Z, --context=CTX,应用格式应为

  1. mkdir -m 721 ./a_dir  
  2. mkdir --mode=721 ./a_dir  


好像记得在哪里见过有这么说的,但我实际在自己电脑上测试的时候并没有区别(我用的是fedora 19 32位系统)。

  1. mkdir -m=721 ./a_dir  
  2. mkdri --mode 721 ./a_dir  
效果是一样的。而且长选项--mode=721之后依然可以跟其他选项,比如-p,有与前处长选项之后不能跟其他选项冲突了;不过--version之后的确是不能跟另外的选项的,否则会报错(此处留作保留)。

还有一种情况,比如man find中,

  1. -maxdepth levels  
  2.               Descend at most levels (a non-negative integer) levels of directories below the command line arguments.  
  3.               -maxdepth 0  
  4.                means only apply the tests and actions to the command line arguments.  


表示寻找的目录最大层级数,用法是find 一些选项 -maxdepth 3 另一些选项。

命令帮助中出现的[] <>含义
在查看命令帮助时,会出现[],<>,|等符号,它们的含义如下:
  1. [] #表示是可选的;
  2. <> #表示是可变化的;
  3. x|y|z #表示只能选择一个;
  4. -abc #表示三个参数(或任何二个)的混合使用


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多