1. IO重定向
有两种基本的方法可以用来重定向标准输入(stdin)、标准输出(stdout)和标准错误(stderr)。可以利用管道把这些数据流之一输送给另外一条命令;也可以利用I/O重定向把这些数据流之一重定向到一个文件。管道及I/O重新定向是Linux系统中特有的概念。所谓管道是指将某个命令的输出结果传送到另一个命令,当成另外一个命令的输入,其代表符号是"|"。所谓I/O重定向是指将命令执行的结果重新导出到其他的设备或文件(以">"或">>"来表示),或者重新导入到其他的设备或文件(以"<"或"<<"来表示)。常用输入输出重定向命令格式与说明如表6.28所示。
表6.28 常用输入输出重定向命令格式与说明
命 令 行 |
说 明 |
命令1 > 文件1 |
将命令1的输出结果重定向到文件1 |
命令1 &> 文件1 |
将命令1的输出结果和标准 错误输出一起重定向到文件1 |
命令1 >> 文件1 |
将命令1的输出结果追加到文件1中 |
命令1 2> 文件1 |
将命令1的标准错误输出的 结果重定向到文件1中 |
命令1 < 文件1 |
将文件1作为命令1的标准输入 |
命令1 << 字符串1 |
允许连续输入数据,直到接收到字符串1 |
2.管道(Pipe)
在Linux系统中,管道的主要功能是将其他程序的输出结果直接导出到另一个程序来做输入数据,即将前一个程序的输出作为后一个程序的输入,符号表示为"|"。管道的语法格式为:
- 命令1 | 命令2 [ | 命令3 … ]
可以将标准错误输出一起送入管道,命令格式为:
- 命令1 |& 命令2 [ |& 命令3 … ]
如以长格式查看/etc目录下的所有文件。由于/etc目录下的文件很多,因此直接使用"1s-al"命令显示的内容会很快卷过屏幕,无法仔细查看。可以利用管道将"1s-al"命令的执行结果输入more或less命令,实现分页显示,命令行为:
- #ls -al | less
在实际使用中,往往配合grep命令使用:
eg:查看有关MYSQL相关进程 ps -aux |grep mysql
Linux系统中grep命令是一种强大的文本搜索工具,(--所以往往可以用它去匹配某个文件中的字符串) 它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expr
参考 http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html
参考Blog: http://book.51cto.com/art/201005/199758.htm