打工人的Linux(第五章)教程
重定向管道
重定向
重定向输出/输入
FD(file descriptors):文件描述符(句柄)
进程使用文件描述符来管理打开的文件(链接文件)
0:键盘只读
1,2:终端(可以理解为屏幕)
重定向输出
1.标准输出
1>等价于> 覆盖
1>>等价于>> 追加
2.标准错误
2> 覆盖
2>> 追加
重定向输入
(1)标准输入: < 等价 0<
管道
1.进程管道(piping):
管道命令可以将多条命令组合起来,一次性完成复杂的处理任务。
语法:command1 | command2 | command…
指令1的标准输出作为指令2的标准输入
2.tee管道:
三通管道,即交给另一个程序处理。又保存一份副本。
3.参数传递Xargs:
示例:
(1)环境准备,准备一些文件:
下面展示一些 内联代码片
。
[root@localhost ~]# touch /home/file{1..5}
(2)接到消息,部分文件需要删除:
下面展示一些 内联代码片
。
[root@localhost ~]# vim files.txt
/home/file1
/home/file3
/home/file5
(3)使用管道:
下面展示一些 内联代码片
。
[root@localhost ~]# cat files.txt |rm -rvf
//失败
(4)加上xargs:
下面展示一些 内联代码片
。
[root@localhost ~]# cat files.txt |xargs rm -rvf
removed ‘/home/file1’
removed ‘/home/file3’
removed ‘/home/file5’
//删除成功