SHELL命令-输入输出重定向


command > file	将输出重定向到 file
command > file	将输出以追加的方式重定向到 file
n > file	将文件描述符为 n 的文件重定向到 file
n >> file	将文件描述符为 n 的文件以追加的方式重定向到 file
n >& m	将输出文件 m 和 n 合并
n <& m	将输入文件 m 和 n 合并
<< tag	将开始标记 tag 和结束标记 tag 之间的内容作为输入

注意: 文件描述符

  • 0 通常是标准输入(STDIN)
  • 1 是标准输出(STDOUT)
  • 2 是标准错误输出(STDERR)

重定向深入讲解

一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:

  • 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据
  • 标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据
  • 标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息

默认情况下,command > file 将 stdout 重定向到 file,command < file 将stdin 重定向到 file

ls -alF > test.log 2>&1
cat > file << EOF
aaa
bbb
ccc
EOF
wc -l < file # 3

/dev/null 文件

如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null

ls -alF > /dev/null

文章作者: darebeat
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 darebeat !
 上一篇
SHELL命令-运算符 SHELL命令-运算符
Linux中SHELL命令原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。
2020-12-01
下一篇 
SHELL命令-特殊参数 SHELL命令-特殊参数
Linux中在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n; n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
2020-12-01
  目录