Linux man语法结构说明

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

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

几个简单例子:

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

[plain] view plaincopy

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

其中所有的选项都用‘[]‘括起来,说明所有选项都是可选的(当然,只是这样就没办法实现它的作用了);

path是可选项,其默认值是当前目录,而且被‘...‘修饰,说明可以添加多个目录;

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

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

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

三:命令实例分析

mkdir命令,man mkdir中

NAME

mkdir - make directories

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

SYNOPSIS

mkdir [OPTION]... DIRECTORY...

表示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, --context=CTX

set the SELinux security context of each created directory to CTX

--help display this help and exit

--version

output version information and exit

-p和-v选项并无特殊,其后面不用跟参数,具体作用请百度

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

mkdir -m 721 ./a_dir

mkdir --mode=721 ./a_dir

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

mkdir -m=721 ./a_dir

mkdri --mode 721 ./a_dir

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

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

-maxdepth levels

Descend at most levels (a non-negative integer) levels of directories below the command line arguments.

-maxdepth 0

means only apply the tests and actions to the command line arguments.

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

命令帮助中出现的[] <>含义在查看命令帮助时,会出现[],<>,|等符号,它们的含义如下:

[] #表示是可选的;

<> #表示是可变化的;

x|y|z #表示只能选择一个;

-abc #表示三个参数(或任何二个)的混合使用

备注:内容来自网络有人,读后自觉描述的很好,是授人以渔。所以,如有侵权,请联系本人删除,谢谢!

原文地址:https://www.cnblogs.com/fyc001/p/8215634.html

时间: 2024-08-09 19:15:31

Linux man语法结构说明的相关文章

Linux Bash语法总结

在学习Linux的过程中,无可避免的会碰到一个既让人喜欢.又令人十分头疼的神奇的东西--bash编程,也就是shell脚本.那么什么是shell脚本呢?shell是一个命令语言解释器,而shell脚本则是Linux命令的集合,按照预设的顺序依次解释执行,来完成特定的.较复杂的系统管理任务,类似于windows中的批处理文件.本篇博文主要介绍bash编程的基础语法讲解. 一.bash编程之变量 1)bash变量类别 本地变量:只对当前shelll进程有效的变量,对其他shell进程无效,包含当前s

foreach ()语法结构提供了遍历数组的简单方式

foreach 语法结构提供了遍历数组的简单方式.foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息.有两种语法: foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement 第一种格式遍历给定的 array_expression 数组.每次循环中,当前单元的值被赋给 $value 并且数组内部的指

Linux 标准目录结构

Linux 标准目录结构 初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home --- 存储普通用户的个人文件 ftp --- 用户所有服务 httpd samba user1 user2 bin --- 系统启动时需要的执行文件(二进制) sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令.只有root权限才能执行 proc --- 虚拟,存在linux内核镜像:保存所有内核

linux操作系统基本结构和终端控制

初学Linux,写的比较凌乱无序,给自己的学习记录笔记,如有错误,请大牛们指教. linux操作系统基本结构1.Kernl         内核 2.Modules    模块3.Lib             库4.shell         工具(应用程序)5.Tools        工具(应用程序)   同一级别应用程序这个系统在结构上可以划分为4个部分:1.Linux内核,内核是系统的心脏,是运行程序和管理硬件设备的核心程序,主要包括:文件管理设备管理内存管理模块管理网络管理进程管理一

Linux源代码目录结构介绍

1.arch目录:存放不同平台的相关代码,每种平台用不同的目录来区分. ******Alpha平台 ******Arm平台 ******Arv32平台 ******X86平台 2.drivers目录:存放驱动程序的目录,不同的驱动用不同的目录来加以区分. ******ftape:磁带驱动 ******hfmodem:无线电设备驱动 ******joystick:游戏杆驱动 ******paride:从并口访问IDE设备的支持 ******cdrom:光驱驱动 ******char:字符设备驱动

SQL SERVER 2012 第四章 连接 JOIN语句的早期语法结构 &amp; 联合UNION

1/内部连接的早期语法结构 INNER JOIN SELECT * FROM Person.Person JOIN HumanResources.Employee ON Person.Person.ID = HumanResources.Employee.ID 等价于早期的也就是老版本的 SELECT * FROM Person.Person,HumanResources.Employee WHERE Person.Person.ID = HumanResources.Employee.ID 2

PHP 数组遍历 foreach 语法结构

foreach 语法结构用于遍历数组. foreach() PHP foreach() 语法结构用于遍历操作或输出数组,foreach() 仅能用于遍历数组或对象,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误. 语法: foreach (array as $value) statement // 或者: foreach (array as $key => $value) statement 上述语法中,每次循环将当前单元的值赋给 $value 并且数组内部的指针向前移一步.在第二

从零单排Linux – 3 – 目录结构

从零单排Linux – 3 – 目录结构 1.FHS标准(filesystem hierarchy standard) why? –> 为了规范,还有为了linux的发展 重点 –> 规范每个特定目录下应该要放置什么样的数据 what? –> 定义了三层目录下应该放置什么数据{ 1. /  根目录:放置与开机系统有关的数据 2. /usr (unix software rescource): 与软件的安装执行有 关数据 3. /var :与系统运行过程有关的数据 } 根目录不要放在非常大

Bash编程语法结构第二节

Bash编程语法结构 一.for结构 其中 $var 是循环控制变量,[list] 是 $var 需要遍历的一个集合, do/done 对包含了循环体,相当于 C 语言中的一对大括号.另外如果 do 和 for 被写在同一行,必须在 do 前面加上 ";".如: for $var in [list]; do .下面是一个运用 for 进行循环的例子: 二.while适用于循环次数未知,或不便用for直接生成较大的列表时: while 测试条件; do 循环体 done 测试条件为真,进