一、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"