`
vaqeteart
  • 浏览: 298667 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

command_spec

阅读更多
这里简单介绍linux命令行的一般语法格式。
这对初学者很重要,尤其是查找某个命令的帮助手册(man手册)的时候,不会什么也看不懂。
1,命令组成:
一般linux的命令语法格式如下:
命令名称 选项 选项参数(值) 命令参数(值)

例如:
od [OPTION]... [FILE]...
这里,命令名称是od,选项是OPTION。这里选项用'[]'括起来表示这个部分在od命令里面可有可无。命令的参数是FILE也是可有可无;'...'表示其前面的东西(这里是OPTION和FILE)可以有不只一个.一般来说(不是绝对的),在man手册里面,命令中像OPTION和FILE这样的变量形式的参数(即其值取决于用户的键入)部分会用特殊颜色显示出来;而od这样本身是固定的部分(即不是用户能改变的)用另外一种颜色显示(例如加粗)。也有的描述中把可变的部分用'<>'括起来。

再如:
cp [OPTION]... SOURCE... DIRECTORY
从这里可以看出,cp命令参数有SOURCE和DIRECTORY,其中SOURCE参数可以是多个,DIRECTORY只能一个。OPTION部分可有可无,但是SOURCE和DIRECTORY部分必须要有。
具体的例子:
$cp -r file1 file2 dir

2,关于选项:
选项有简单书写形式也有复杂书写形式。简单形式的选项一般用'-'引出,复杂形式一般用'--'引出等等,例如:
$cp -v file1 file2
等价于$cp --verbose file1 file2
这里,'-v'和'--verbose'是一样的,'-v'是简写形式,'--verbose'是复杂形式。

又例如:
cp -r src des

-r 就是其中的[OPTION]部分,也可以是--recursive.

另外,有些命令的选项不用'-'来引出,例如:
$unrar e test.rar
使用e选项指定unrar命令解压test.rar文件。

有些命令选项用'-'做为前缀,然后可以接多个选项,例如:
$tar -czvf dir.tgz dir
这个命令使用tar命令的-c -z -v -f四个选项,给dir目录打包并且压缩,生成结果文件为dir.tgz.

在选项用'[]'包含起来表示可选的同时,如果有几个值其中只能出现一个的话那么用'|'来分开。例如:
command [-a|-b]
这里,command是假设的一个命令,这表示这个命令command中,-a和-b选项,两者要么都没有,要么只有一个。

3,关于选项的参数:
不光是命令,命令的选项也可以有参数。
这里举一个复杂点的命令:
gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s symfile] [-e prog] [-se prog] [-c core] [-x cmds] [-d dir] [prog[core|procID]]
这是gdb命令的语法格式,关键的几个部分如下:
[-d dir]就是指,运行gdb命令,可以添加一个可选的选项"-d",这个选项的参数是dir.在本文的描述中,不太容易一下子看出[-d dir]里面哪部分是固定的字符串,哪部分是随用户输入而变的字符串,但是man手册里面都把它们标记为不同的颜色了,实际通过分析也很容易知道哪个部分是可变的。
有些命令选项和选项的参数之间可以没有空格,有的选项和选项参数之间用'='连接,例如这里的'[-cd=dir]';

再举一个例子:
minicom [-somMlwz8] [-c on|off] [-S script] [-d entry] [-a on|off] [-t term] [-p pty] [-C capturefile] [configuration]
这是minicom的命令语法,其中[-c on|off]表示-c选项是可选的(即在命令中可有可无),它有一个选项参数,参数值可以是on或者off.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics