第1页:第10章命令语法
本页为第10章命令语法的章节封面,标示本章讲解的命令语法、选项与参数写法。
第2页:本章需要解决的几个问题
- 如何在同一行上输入多个命令?
- 什么是命令的选项?什么是命令的参数?
- 什么是-选项?什么是--选项?
- 什么是空白符?
第3页:10.1一次输入多条命令
- 一行输入多条命令时,用分号隔开例如:$ date; cal
第4页:10.2输入命令时会发生什么事情
- shell会按以下步骤处理输入的命令:-1. shell会认为命令行的第一部分是命令名-2.根据命令名,在搜索路径中搜索命令程序-3.找到命令程序时,shell运行这个程序,并将整个命令行的一份副本发送给该程序,由程序决定如何处理所有信息。-4.如果找不到命令程序,那么shell将提示一个错误消息
第5页:输入命令时会发生什么事情:cal示例
10.2输入命令时会发生什么事情命令示例:
$ cal 2012cal文件系统运行cal 2012/bin/cal显示错误没有找到
第6页:10.3命令语法
- 选项用来控制命令的运行方式
- Unix命令语法可以表示为:-命令名称选项参数
- 参数是向命令程序传递的信息例如:ls–l–F file1 file 2 file3
第7页:10.4选项
- 选项由1个连字符加1个字母组成,或2个连字符加1个单词组成-例如:-F--help
- 多个选项可以合并-例如:ls–l–F file1 file 2 file3可以合并为:ls–lF file1 file 2 file3
第8页:10.5-选项和--选项
第9页:10.5-选项和--选项:短选项-特征
- 短选项-特征:一个连字符加一个字母-存在的问题:1.短选项出现时期较早,选项比较少,随着技术的发展,命令的选项越来越多,单个字母的含义不明确,难以记忆和使用。2.如果将单个字母扩展为一个单词,如-h扩展为-help,那么shell会将其解析为-h-e-l-p四个选项。
第10页:-选项和--选项:为了不影响短选项的使
- 为了不影响短选项的使用,还能提供基于单词的选项,就出现了长选项。
- 许多命令既支持短选项,又支持长选项
- 长选项-特征:2个连字符加一个单词
第11页:10.6参数
- 其概念取自于数学函数中的参数
- 其主要作用是向命令程序传递数据
第12页:10.7空白符
- 空白符是指一个或多个连续的空格或者制表符
- CLI中输入命令时,必须用空白符将每个选项和参数分开
- 在某些shell中,空白符只能用空格,因为<Tab>被用来实现命令自动补全
第13页:10.8一个或多个;零个或多个
- 一个或多个,意味着至少使用一个
- 零个或多个,意味着不用,或使用一个或多个
- 当被告知使用零个或多个对象时,都要问一问:“默认值是什么?”
第14页:10.9命令的形式化描述:语法
- 命令语法的7个规定(1)方括号中的项是可选的(2)不在方括号中的项是必选的,必须作为命令的一部分输入(3)黑体字必须按原样输入(4)斜体字必须使用适当的值代替(5)后面接省略号的参数可以重复任意多次
第15页:10.9命令的形式化描述:语法
- 例子:ls[-aAcCdfFgilLqrRstu1] [filename…]规则(2)规则(3)规则(1)规则(1)规则(4)规则(5)
第16页:命令的形式化描述:语法
- 命令语法的7个规定(6)如果一个单独的选项和一个参数组合在一起,那么该选项和参数必须同时使用(7)由|(竖线)字符分隔的两个或多个项,表示可以从这个列表中选择一个
第17页:10.9命令的形式化描述:语法
- 例子:man[-Ppager] [-Ssectionlist]name…规则(2)规则(3)规则(1)规则(4)规则(6)规则(2)规则(4)规则(5)规则(1)规则(4)规则(6)
第18页:10.9命令的形式化描述:语法
- 例子:who[-abdHilmpqrstTu] [file|arg1 arg2]两种情形:who /var/run/utmpwho am i规则(2)规则(3)规则(1)规则(1)规则(4)规则(7)