转载自:https://blog.csdn.net/ac_dao_di/article/details/54718710

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

一、man命令

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

  

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

man mkdir

得到:

  

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

man  mkdir

  

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

man  fread

  

man  tty

  

  

man  passwd

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

二、man mkdir

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

           MKDIR()                            User Commands                            MKDIR()

       NAME
mkdir - make directories SYNOPSIS
mkdir [OPTION]... DIRECTORY... 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 AUTHOR
Written by David MacKenzie. REPORTING BUGS
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Report mkdir translation bugs to <http://translationproject.org/team/> COPYRIGHT
Copyright © Free Software Foundation, Inc. License GPLv3+: GNU GPL ver‐
sion or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is
NO WARRANTY, to the extent permitted by law. SEE ALSO
mkdir() Full documentation at: <http://www.gnu.org/software/coreutils/mkdir>
or available locally via: info '(coreutils) mkdir invocation' GNU coreutils 8.23 November MKDIR()

2.1 man命令文档的构成

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

  

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

mkdir [OPTION]… DIRECTORY…

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

mkdir mk1

b. 无选项,两个DIRECTORY

mkdir mk2 mk3

c. 两个选项,两个DIRECTORY

mkdir -m  -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 使用剩余的选项

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

  

Linux Man手册的使用示例的更多相关文章

  1. Linux中 find 常见用法示例

    Linux中find常见用法示例 #find path -option [ -print ] [ -exec -ok command ] {} \; #-print 将查找到的文件输出到标准输出 #- ...

  2. [转]Linux中find常见用法示例

    Linux中find常见用法示例[转]·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;find命令的参 ...

  3. Solaris/Linux 命令手册

    无意翻到之前收藏的一个文档,共享一下. Solaris/Linux 命令手册 1. 系统 # passwd:修改口令 # exit:退出系统 2. 文件 # cp:复制文件或目录,参数:-a递归目录, ...

  4. Linux下安装GB2312的示例

    Linux下安装GB2312的示例 Step 1: 到Linux字符集的安装包目录下  [cd /usr/share/i18n/charmaps] Step 2: 解压该目录下的GB2312.gz   ...

  5. 超级方便的linux命令手册

    超级方便的linux命令手册 NO 分类 PS1 命令名 用法及参数 功能注解 对应章节 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件     文件管理 # ls ...

  6. Linux指令手册 (一)

    指令格式 指令主体 [选项] [操作对象] 一个完整的指令是由"指令主体"."选项"和"操作对象"组成的,其中指令主体只能有一个,选项有零个 ...

  7. Linux帮助手册(man)

    Linux的帮助文档 在我们使用Linux的过程中,都会遇到这样那样的问题,一般我们在计算机能连上网的情况下会进行百度或Google解决问题,但是并不是所有文题都能在网上很快得到答案.万一我们是在没有 ...

  8. Linux的防火墙iptables配置示例

    注:内容来自网络 一.关闭防火墙 1.重启后永久性生效: 开启:chkconfig iptables on 关闭:chkconfig iptables off 2.即时生效,重启后失效: 开启:ser ...

  9. 3.linux man手册

    (12) man作用:查询man手册,获得帮助信息man 1 ls 1表示查询的是linux命令man 2 xxx 2表示查询的是linux apiman 3 xxx 3表示查询的是C库函数注意:在m ...

随机推荐

  1. Java的优先队列PriorityQueue详解

    一.优先队列概述 优先队列PriorityQueue是Queue接口的实现,可以对其中元素进行排序, 可以放基本数据类型的包装类(如:Integer,Long等)或自定义的类 对于基本数据类型的包装器 ...

  2. UML图的种类

    一.作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分. UML语义:描述基于UML的精确元模型定义. UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语 ...

  3. POJ 1028:Web Navigation

    Web Navigation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 30828   Accepted: 13821 ...

  4. Mongodb集群形式探究-一主一从一仲裁。

    主节点(primary)与从节点(secondary)和仲裁节点(arbiter)具有存储数据的两个成员的三个成员副本集具有:   ●一个主节点.   ●一个从节点. 从节点可以在选举中成为主节点.  ...

  5. 大数据高可用集群环境安装与配置(05)——安装zookeeper集群

    1. 下载安装包 登录官网下载安装包 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 2. 执行命令下载并安装 cd /usr/local ...

  6. React + umi +antd+antv/g6 实现力图

    官方示例效果:http://antv.alipay.com/zh-cn/g6/2.x/demo/net/2017-link-data.html 改编效果: 实现步骤: 环境:nodejs.yarn/n ...

  7. Codeforces 405E DFS

    这个题目要求把一个无向连通图里面的所有边,分成 两个一对,只能出现一次,而且一对边必须是连在一起的,点可以复用  但边不可复用 可解条件很易得,因为图是连通的,只要边数为偶数即可. 一开始我借着做欧拉 ...

  8. 201771010123汪慧和《面向对象程序设计Java》第十三周实验总结

     一.理论部分 1.GUI为用户提供交互式的图形化操作界面. (1)提供了程序的外观和感觉.(2)程序利用图形用户界面接受用户的输入,向用户输出程序运行的结果. 2.Java有专门的类库生成各种标准图 ...

  9. MyBatis:分页的实现

    日志工厂 思考:我们在测试SQL的时候,要是能够在控制台输出 SQL 的话,是不是就能够有更快的排错效率? 如果一个 数据库相关的操作出现了问题,我们可以根据输出的SQL语句快速排查问题. 对于以往的 ...

  10. python 进程和线程(2)

    这篇博客是按照博客<进程和线程(1)>中内容用futures改写  with futures.ProcessPoolExecutor() as executor:可以两篇博客对照看. 2改 ...