shell输入输出重定向--Linux中2>&1的用法

学习记录 留作参考
祝君好运

Shell 输入/输出重定向 | 菜鸟教程 写的很详细

如何在 Linux 中将输出重定向到文件和标准输出-阿里云开发者社区 有图示

Linux系统有标准输入、标准输出、标准错误输出。

如果是使用crontab执行定时任务,可以将“标准输出”和“标准错误输出”均输出到日志文件中。可以设定输出到不同文件,也可以合并输出到同一文件。

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

  • 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
  • 标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
  • 标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。
# 将command的标准错误输出到file文件,file文件存在则替换,不存在则创建
$ command 2>file

# 将command的标准错误输出追加到file文件,file文件不存在则创建
$ command 2>>file

# 将标准输出和标准错误合并后输出到file文件
$ command > file 2>&1 # 全部替换写
$ command >> file 2>&1 # 全部追加写
$ command >& file #简单的合并输出写法,不支持追加写

# 将标准输出和标准错误输出到不同文件
$ command > file 2>errorFile # 全部替换写
$ command > file 2 >> errorFile # 其中一个替换写,一个追加写
$ command >> file 2 >> errorFile # 全部追加写
posted @ 2025-03-30 21:51  azsd  阅读(51)  评论(0)    收藏  举报