1.文件描述符
文件描述符是与输入和输出流相关联的整数。最广为人知的文件描述符是stdin、 stdout
和stderr
标准输入:standard input, 表示为stdin,用文件描述符【0】表示
标准输出:standard output, 表示为stdout,用文件描述符【1】表示
标准错误:standard error, 表示为stderr,用文件描述符【2】表示
2.重定向
>:会直接覆盖源文件
>>:在源文件末尾追加
3.案例
使用【>】将文本保存在文件中
echo test1 > test.txt
使用【>>】将文本追加到文件中
echo test2 >> test.txt
![](https://img-blog.csdnimg.cn/img_convert/f4aa3b068f784114afe743fa47a6016b.png)
注:重定向的文件不存在会自动创建
将错误输出到文件中
![](https://img-blog.csdnimg.cn/img_convert/dcd8d1fba53e42088254d8432cc039d3.png)
ll /home/cat 2> test-err.txt
![](https://img-blog.csdnimg.cn/img_convert/679f7cd302194222ac1dc7590fda3f36.png)
将stdout 和 stderr 分别输入到不同的文件
ll /home/pig /home/dog 1> test.txt 2>test-err.txt
将stdout 和 stderr 输入到同一个文件,以下2种方法都可以
第一种
ll /home/pig /home/dog > test.txt 2>&1
#错误信息不会输入到文件中
#标准错误的重定向操作通常发生在标准输出重定向操作之后,否则不起作用
ll /home/cat /home/dog 2>&1 > test.txt
第二种
ll /home/cat /home/dog &>> test.txt
处理不想要的输出
ll /home/cat /home/dog 2> /dev/null
标准输入重定向
cat < test.txt