Linux 提供了大量的命令,如文件管理操作、磁盘操作、网络管理操作、进程管理、文件属性与权限设定等。
1、Linux 命令行的组成
命令行的格式
Linux 命令组成:shell 内部命令+shell 外部命令。shell 内部命令:最简单、最常用的命令,在shell启动时进入内存。shell外部命令:独立的可执行程序,是一些实用工具程序。
命令行格式:命令名 [选项] [参数1] [参数2]……
例如:find / -name “mysql”
注意:命令在正常执行后返回一个0值,表示执行成功;如果命令执行过程中出错,没有完成全部工作,则返回一个非0值,返回值的含义根据命令的不同而不同。在shell脚本中,可用命令返回值作为控制逻辑的一部分,命令执行完成之后可以使用命令:echo $? 来查看返回值。
Linux 命令构成
1.利用重定向
在 Linux 命令行模式中,如果命令所需的输入不是来自键盘,而是来自指定的文件,这就是输入重定向。同理,命令的输出也可以不显示在屏幕上,而是写入到指定的文件中,这就是输出重定向。
重定向的一般格式:
command [] < filename (标准输入重定向)
command [] > filename (标准输出重定向)
2.利用管道
利用 LInux 所提供的管道”|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令各的输出又会作为第三个命令的输入,依此类推。
管道应用的一般格式为:
command_1 [args] | command_2 [args]
3.利用命令替换
在 Linux 命令行模式下,当遇到一对”"(上分割符)时,将首先执行"
“中间包含的命令,然后将其输出结果作为参数代入命令行中,这就是命令替换了。
例如:echo today is date
输出结果为:today is Mon Nov 5 16:58:33 CST 2012
在嵌套使用命令替换时,里面的上分割符需要用转义符镜像转义。
4.综合应用
在理解和熟悉了前面的几个技巧后,将它们综合运用起来就是较高的技巧了。在构造 LInux 命令中常常用到的一些基础的、重要的命令有grep、tr、sed、awk、find、cat和echo等。
示例1:同时运用了输出重定向和管道两种技巧。
man man | col -b > manual_man
这条命令同时运用了输出重定向和管道两种技巧,作用是将命令man的帮助文档保存为文本文件manual_man,并通过选项-b过滤掉所有的控制字符。
示例2:使用了 grep、tr 和 awk 三个与字符操作相关的命令。
cat find poem
| grep is | tr a-z A-Z | awk ‘{print $2}’ > word
首先通过 find 命令找到 poem 文件,通过 grep 命令查找该文件中包含字符串“is”所在的所在行,再通过第二个管道将这些行的所有字符转换成大写字母,之后通过第三个管道显示经大小写转换后的每行的第二个单词,最后将 awk 命令的输出重定向到文件 word,而不是将结果显示到屏幕上。