Linux下Bash的数据流重导向,stdin,stdout,stderr
标准输入 stdin: 代码0,使用<或<<
标准输出 stdout: 代码1,使用>或>> 1> 1>>
标准错误输出 stderr 代码2,使用2>或2>>
1个尖括号为覆盖,2个尖括号为累加
输出的意思就是将原本要输出到屏幕上的东西输出到文件或者设备上
例:
ll ~ > ~/rootfile 屏幕不输出信息,而是将信息输出到了文件中
标准输出和标准错误输出的理解
1>: 以覆盖的方式将正确数据输出到指定的文件或设备上
1>>: 以累加的方式将正确数据输出到指定的文件或设备上
2>: 以覆盖的方式将错误数据输出到指定的文件或设备上
2>>: 以累加的方式将错误数据输出到指定的文件或设备上
将正确信息错误信息输出的方法
find /home -name .bashrc > rightfile 2> errorfile
就是同时指定正确和错误时的输出文档
垃圾桶黑洞/dev/null
/dev/null可以干掉任何扔到这个装置的信息
find /home -name .bashrc 2> /dev/null
将正确错误信息写入同一文件中
find /home -name .bashrc > list 2>&1
find /home -name .bashrc &> list
标准输入:将原本需要由键盘输入的数据改由文件内容来取代
<号
cat > catfile < ~/.bashrc
将.bashrc的内容作为输入源,输出到catfile文件中去
这个写法和cp一样
<<表示结束的输入字符
cat > carfile << "eof"表示键盘输入eof时输入结束