linux中的流重定向小结
在linux的shell中,输入输出分为3部分:
- 标准输入(stdin):代码为0,使用<或<<
- 标准输出(stdout):代码为1,使用>或>>
- 标准错误输出(stderr):代码为2,使用2>或2>>
标准输出(stdout):
这个比较容易懂,
- 1> 或者 > -------- 覆盖的方法将正确的数据输出到指定的文件或设备上。
- 1>>或者>> ------ 累加的方法...
比如:cat file1 > file2
标准错误输出(stderr):
类似的:
- 2> ------- 覆盖的方法...
- 2>> ------累加的方法...
比如 cat file1 > file2 2> file3
特殊情况:
- 将错误信息扔掉不要 cat file1 > file2 2> /dev/null
- 将标准输出和错误输出到一个文件里面 cat file1 2>&1 file2
标准输入(stdin):
< ------- 将原本需要由键盘输入的数据改由文件内容来替代
比如:
cat > catfile < ~/.bashrc
这个时候,~/.bashrc的内容就被定向到catfile。使用~/.bashrc代替了键盘输入。
<< ------ 代表的是结束输入的意思。
比如:cat > catfile << "eof"
>This is a test
>OK now stop
>eof -------------输入这个关键字,立刻就结束而不需要输入[ctrl]+d.