如何看懂man手册

如何看懂man手册


man手册的阅读障碍一般是:

  • 英语不好,读不懂各个参数的作用;
  • 不明白命令参数该如何组合
  • ……害怕

这篇文章不直接说明某个命令的用法,只是告诉一些需要的人怎么读懂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,(注意,选项与选项之间,选项与参数之间,参数与参数之间必须有空格!)而且,命令的选项和参数所使用的符号也有相应的含义:

  • 方括号中的项是可选的;
  • 不在方括号或是在大括号中的项是必选项(也有说<>括起来的,不过我没还见过);
  • 黑体(还是粗体?)字必须按原样准确键入,这一类可能是命令名,标志和文字字符;
  • 斜体字必须用适当的值代替(不显示斜体字的系统上通常用下划线代替),就如变量一般,需要根据情况自己添加适当的值;
  • 后面接省略号(…)的参数可以多次重复;
  • 如果一个单独的选项和一个参数组合在一起,那么该选项和参数必须同时使用;
  • 由 |(竖线)字符分开的两个或多个项,表示可以从这个列表中选择一个项;

几个简单例子:
find命令是linux下的查找文件命令,其man手册的SYNOPSIS的格式为:

find  [-H]  [-L]  [-P]  [-D  debugopts]  [-Olevel]  [starting-point...] [expression]
  
  
  • 1
  • 其中所有的选项都用’[]’括起来,说明所有选项都是可选的(当然,只是这样就没办法实现它的作用了);
  • starting-point是可选项,被’…’修饰,说明可以添加多个目录;
  • -D debugopts说明-D选项之后还应加上相应的参数;
  • [a|b]说明a和b可以选其中一个也可以不选;
  • {a|b}则说明a和b之间必须要选一个。

命令实例分析

mkdir命令,man mkdir中

NAME
       mkdir - make directories
  
  
  • 1
  • 2

表示mkdir命令是用来创建目录的

SYNOPSIS
       mkdir [OPTION]... DIRECTORY...
  
  
  • 1
  • 2

表示mkdir 后面可选option选项,但必须有需要创建的目标目录,可跟多个

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

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

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

       -p, --parents
              no error if existing, make parent directories as needed

       -v, --verbose
              print a message for each created directory

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

       --context[=CTX]
              like  -Z,  or  if CTX is specified then set the SELinux or SMACK
              security context to CTX

       --help display this help and exit

       --version
              output version information and exit
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

-p和-v选项并无特殊,其后面不用跟参数;

-m , –mode=MODE

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

效果是一样的。而且长选项–mode=721之后依然可以跟其他选项,比如-p,有与前处长选项之后不能跟其他选项冲突了;不过–version之后的确是不能跟另外的选项的,否则会报错(此处留作保留)。还有一种情况,比如man find中,

-maxdepth levels
              Descend at most levels (a non-negative integer) levels of direc‐
              tories below the starting-points.  -maxdepth 0
               means only apply the tests and actions to  the  starting-points
              themselves.
  
  
  • 1
  • 2
  • 3
  • 4
  • 5

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

如何将man手册内容转成PDF文件

man -t ls > ls.ps && ps2pdf ls.ps && rm ls.ps

转自:https://blog.csdn.net/Monange/article/details/78778319?utm_source=blogxgwz4

如何看懂man手册

猜你喜欢

转载自blog.csdn.net/u011285208/article/details/84430843