管道和重定向以及使用案例

一、FD简介
file descriptors ,FD,文件描述符。进程使用文件描述符来管理打开的文件。
FD是访问文件的标识,即链接文件。0是键盘只读,1,2是终端可以理解是屏幕,3+是文件,可读可写。

在这里插入图片描述
在/proc目录中查看文本程序的FD
在这里插入图片描述
看到的0、1、2、255就是FD,程序通过描述符访问文件,可以是常规文件,也可以是设备文件。

二、重定向案例 >_<
0输入;1标准正确输出;2标准错误输出;>覆盖 >>追加
1.输出重定向:
在这里插入图片描述
其他程序也可以,需要程序本身有输出。

2.错误输出重定向:
在这里插入图片描述
当某条命令产生错误时,才会有错误输出。

3.正确和错误都输入到相同位置:
在这里插入图片描述
4.正确和错误都输入分别存放:
在这里插入图片描述
5.输入重定向案例+
发送邮件案例:
在这里插入图片描述
使用重定向快速创建邮件:
在这里插入图片描述
三、管道
1.进程管道piping
管道命令可以将多条命令组合起来,一次性完成复杂的处理任务。
在这里插入图片描述

[root@localhost ~]# cat /etc/passwd | head -10 | grep root   //在文件前十行中查找带有root的文件
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

2.tee管道
读取标准输入的数据,并将其内容输出成文件。

[root@localhost ~]# cat /etc/passwd | tee 1.txt | tail -2
tcpdump:x :72:72: : /:/sbin/nologin
yonghu1:x :1000:1000:yonghu1:/home/yonghu1:/bin/bash
[root@localhost ~]# cat 1.txt
root:x :0:0:root:/root:/bin/bash
bin:x :1:1:bin:/bin:/sbin/nologin
daemon:x :2:2:daemon:/sbin:/sbin/nologin
...

3.参数传递 Xargs
cp rm一些特殊命令需要通过xargs管道连接。

[root@localhost ~]# vim 1.txt
[root@localhost ~]# cat 1.txt
/root/55.txt
[root@localhost ~]# cat 1.txt |xargs rm -rvf
已删除"/root/55.txt"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值