初级菜鸟研究linux,总结下遇到的关于2>&1 和 &> 的解释
首先研究了一下通常添加命令后面几个输出含义
>/dev/null
输出到空设备,表示丢掉输出信息。
2 > &1
将输出到标准错误的信息输出到标准输出设备(通常是屏幕) 有3个默认的i/o,
0 是标准输入,一般是键盘1 是标准输出,一般是屏幕了2 是标准错误,有时候屏幕上可以看到,但是重定向的文件中看不到的就是它
2>&1 和 &> 的解释
Linux的IO输入输出有三类
Standard Input 代码 0
Standard Output 代码 1
Standard Error 代码 2
ls thereisno 1> out.txt 标准输出重定向 也可以不加1写成 ls thereisno > out.txt
ls thereisno 2> out.txt 标准错误重定向
ls thereisno > out.txt 2>&1 把错误定向到标准输出,然后统一重定向
ls thereisno &> out.txt 所有“输出”重定向(&>中的&可以代表任意1,2),不能重定向输入的内容