箭头的指向就是数据的流向。
数字说明
- 1、标准输入(英文:stdin): 代码为
0
,使用<
或<<
。数据流从右向左。 - 2、标准正常输出(英文:stdout):代码为
1
,使用>
或>>
。数据流从左向右。 - 3、标准错误输出(英文:stderr):代码为
2
,使用2>
或2>>
。数据流从左向右。 - & :表示等同于的意思,如
&1
。 - &>file:将标准输入和标准错误输出到重定向到文件。
例如:
2>&1
表示2的输出重定向等同于1,也就是标准错误输出重定向到标准输出。
命令 < 文件
将文件作为命令的标准输入
1 | [root@host-192-125-30-82 test]# cat source.txt |
命令 << 分界符
从标准输入中读入,直到遇到分界符停止。
1 | [root@host-192-125-30-82 test]# cat >> source.txt <<EOF |
命令 < 文件1 > 文件2
将文件1作为命令的标准输入并将标准输出到文件2
1 | [root@host-192-125-30-82 test]# touch source1.txt |
命令 > 文件
将标准输出重定向到文件中(清除原有文件中的数据)
1 | [root@host-192-125-30-82 test]# cat source.txt |
命令 2> 文件
将错误输出重定向到文件中(清除原有文件中的数据)
1 | # 这里使用错误命令 -2 |
命令 >> 文件
将标准输出重定向到文件中(在原有的内容后追加)
1 | [root@host-192-125-30-82 test]# cat source.txt |
命令 2>> 文件
将错误输出重定向到文件中(在原有内容后面追加)
1 | # 这里使用错误命令 -2 |
命令 &>> 文件
等同于:命令 >> 文件 2>&1
将标准输出和错误输出共同写入文件(在原有内容后追加)
1 | [root@host-192-125-30-82 test]# echo '1123' > source.txt |
参考: