符号 | 说明 |
---|---|
> | 覆盖输出重定向 |
>> | 追加输出重定向 |
2> | 错误覆盖输出重定向 |
2>> | 错误覆盖追加重定向 |
&> | 将正确和错误的输出到同文件(合并文件) |
cmd<filename | 将文件作为命令的标准输入等价于0< |
<<EOF | 开始符EOF和结束符EOF中间的内容作为标准输入 |
标准输出:
将本应该输出在屏幕上的内容输入到user.txt中,若此文件不存在,自动创建同名文件,可以使用
# cat /etc/passwd > user.txt
输出重定向会覆盖文件内容
# echo "123456" > file.txt
# cat file.txt
123456
# echo "111111" > file.txt
# cat file.txt
111111
若不希望文件内容被覆盖,使用>>追加到文件末尾
# echo "222222" > file.txt
# cat file.txt
111111
222222
错误输出和上述同理
标准输入:
统计file文件行数
两个命令执行结果不同,前者会输出文件名;后者没有,它仅从标准输入读取内容
# wc -l file.txt
2 file.txt
# wc -l < file.txt
2
将file.txt作为wc 命令的标准输入,执行结果重定向到file2.txt
# wc -l < file.txt > file2.txt
文件描述符FD(proc/pid/fd)
执行一个shell程序时会自动打开三个标准文件
1、标准输入文件(stdin):stdin的文件描述符为0,程序默认从stdin读取数据。
2、标准输出文件(stdout):stdout 的文件描述符为1,程序默认向stdout输出数据。
3、标准错误文件(stderr):stderr的文件描述符为2,程序会向stderr流中写入错误信息。
来源:CSDN
作者:近乎疯狂的H
链接:https://blog.csdn.net/weixin_43665682/article/details/104186453