一、管道
使用“|”符号来实现管道功能;管道可以实现在一行中处理使用管道符号连接的多个命令,后面的命令使用前面命令的输出结果做为处理对象。
二、数据流重定向
数据输入和输出的类型:
标准输入(stdin):代码为0,默认设备为键盘;
标准输出(stdout):代码为1,默认设备为显示器;
标准错误输出(stderr):代码为2,默认设备为显示器。
重定向就是将数据不使用默认的设备进行输入或输出。
1、输出重定向
标准输出重定向:
COMMAND > POSITION:覆盖输出
COMMAND >> POSITION:追加输出
标准错误重定向:
COMMAND 2> POSITION:覆盖输出
COMMAND 2>> POSITION:追加输出
标准错误的追加重定向与标准输出的追加重定向相类似,此处不再进行演示。
合并重定向:
COMMAND &> POSITION
COMMAND > POSITION 2> &1
分别重定向:
COMMAND > POSITION 2> POSITION2
2、输入重定向
COMMAND < FILE:以FILE中的内容来替代键盘输入;
COMMAND << STRING:以STRING为输入结束符;
3、重定向的应用
输入重定向经常用于不能处理参数的命令,例如tr命令。
tr命令格式:tr [OPTION]… SET1 [SET2]
作用:用于删除文字或进行文字的替换。
OPTIONS:
-d:删除指定的字符;
-s:替换掉重复的字符;
4、多道输出
使用tee命令来实现多道输出,即将命令的结果在屏幕上显示的同时,也在指定的文件中保存;使用-a选项可以在文件中追加重定向的内容。
5、数据黑洞
所有流向数据黑洞的数据都将被丢弃,使用/dev/null这个设备来实现此功能。
6、重定向的控制
set -C 关闭输出重定向的覆盖功能
set +C 打开输出重写向的覆盖功能
>|:在关闭了输出重定向的覆盖功能时,依然执行覆盖操作
原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/3262