I/O重定向与管道

发布时间 2023-11-29 15:05:34作者: -AWE

1. I/O重定向

有两种基本的方法可以用来重定向标准输入(stdin)、标准输出(stdout)和标准错误(stderr)。可以利用管道把这些数据流之一输送给另外一条命令;也可以利用I/O重定向把这些数据流之一重定向到一个文件。管道及I/O重新定向是Linux系统中特有的概念。所谓管道是指将某个命令的输出结果传送到另一个命令,当成另外一个命令的输入,其代表符号是"|"。所谓I/O重定向是指将命令执行的结果重新导出到其他的设备或文件(以">"或">>"来表示),或者重新导入到其他的设备或文件(以"<"或"<<"来表示)。

2.管道

在Linux系统中,管道的主要功能是将其他程序的输出结果直接导出到另一个程序来做输入数据,即将前一个程序的输出作为后一个程序的输入,符号表示为"|"。管道的语法格式为:

  1. 命令1 | 命令2 [ | 命令3 … ]

可以将标准错误输出一起送入管道,命令格式为:

  1. 命令1 |& 命令2 [ |& 命令3 … ]

 

如以长格式查看/etc目录下的所有文件。由于/etc目录下的文件很多,因此直接使用"1s-al"命令显示的内容会很快卷过屏幕,无法仔细查看。可以利用管道将"1s-al"命令的执行结果输入more或less命令,实现分页显示,命令行为:

  1. #ls -al | less

在实际使用中,往往配合grep命令使用:

eg:查看有关MYSQL相关进程        ps -aux |grep mysql

Linux系统中grep命令是一种强大的文本搜索工具,(--所以往往可以用它去匹配某个文件中的字符串)  它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expr

ession Print,表示全局正则表达式版本,它的使用权限是所有用户。