五、管道与重定向
重定向例子:
date输出的结果存下
date > date.txt
1.FD简介
file descriptors,FD,文件描述符,文件句柄
进程使用文件描述符来管理打开的文件。
FD是访问文件的标识,即链接文件
·0是键盘只读
·1,2是终端 可以理解是屏幕
·3+是文件,可写可读
0是输入,1是输出正确,2是输出错误
正确输出:1> 等于 > (即>是简写,表示输出并覆盖)
1 >> 等于 >> (表示添加续写)
错误输出:2> 和 2>>
提示:用FD > 文件句柄的指令内容无输出文字,文件只能看见执行结果而无执行文字反馈。
mkdir 4455 > date.txt
&>: 将一个句柄的输出写入到另一个句柄的输入中
ls /home/aabb &> all.txt
yum install -y httpd & > /dev/null (yum输出太长,这样就不需要看输出)
<:输入FD:利用输出如重定向,把文件内容代替人为输入
mail -s "test01" alice < word.txt
程序 < file
2.进程管道piping |
管道命令可以将多条命令组合起来,一次性完成复杂的处理任务。
语法: 命令1| 命令2| 命令3
3.管道tee
通常配合|管道,作用是在|管道与|管道之间截流信息的管道,把输出保留文本。
如:cat /etc/passwd | grep root | tee 123.txt | head -1
4.参数传递Xargs
如cp,rm 等一些特殊命令不接受正常管道的信息,xargs可以解决转换。
如:cat files.txt | rm -rfv 失败
cat files.txt | xargs rm -rfv 成功