shell---数据流重定向
数据流重定向:就是某个命令执行后应该要出现在屏幕上的数据传输到其他的地方。
标准输入(stdin):代码为0,使用<或<<;
标准输出(stdout):代码为1,使用>或>>;
标准错误输出(stderr):代码为2,使用2>或2>>
一:标准输出
>:1文件不存在会自动创立
2文件存在,先将文件清空,然后将数据写入
3若文件中已经存在内容,则将文件内容覆盖(若不想覆盖,可用>>,在原文上进行追加)
二:标准错误输出
2>:以覆盖的方法将错误的数据输出到指定文件或者设备上
2>>:以累加的方法,将错误的数据输出到指定的文件或者设备上
#find /home -name .bashrc >list_right 2>list_error
注意:
1:/dev/null垃圾桶黑洞
怎样将输出的错误信息过滤,将正确信息输出??
#find /home -name .bashrc 2> /dev/null
2:怎样将正确错误信息统统写入同一个文件??
#find /home -name >list 2>&1 #find /home -name &> list
以上两种方法都可以
三:标准输入
最简单的方法来说,就是将原本需要键盘输入的方式改由文件内容来代替
cat > a < /root/b
将b的内容写入a