技术分享 LINUX 查看内容

Linux 标准输出(stdout)与标准错误(stderr)重定向的那些事

老高 | 发布于 2023-07-25 14:48| 浏览()| 评论() | 收藏() | 点赞() | 打印

1 代表stdout 标准输出

2 代表stderr 标准错误

command > output.txt

等价于 command 1> output.txt

将命令的stdout重定向至文件,stdout将不会出现在终端。

如果文件已经存在,将会覆盖。

command >> output.txt

等价于 command 1>> output.txt

将命令的stdout重定向至文件,stdout将不会出现在终端。

如果文件已经存在,新数据将会添加至文件末尾。

command 2> output.txt

将命令的stderr重定向至文件,stderr将不会出现在终端。

如果文件已经存在,将会覆盖。

command 2>> output.txt

将命令的stderr重定向至文件,stderr将不会出现在终端。

如果文件已经存在,新数据将会添加至文件末尾。

command &> output.txt

等价于 command >output.txt 2>&1

将命令的stdout与stderr都重定向至文件,此时终端将没有任何输出。

如果文件已经存在,将会覆盖。

command &>> output.txt

将命令的stdout与stderr都重定向至文件,此时终端将没有任何输出。

如果文件已经存在,新数据将会添加至文件末尾。

command | tee output.txt

将命令的stdout复制至文件,此时终端依然能看到stdout。

如果文件已经存在,将会覆盖。

tee是linux的一个命令

command | tee -a output.txt

将命令的stdout复制至文件,此时终端依然能看到stdout。

如果文件已经存在,新数据将会添加至文件末尾。

command |& tee output.txt

将命令的stdout与stderr都复制至文件,此时终端依然能看到stdout与stderr。

如果文件已经存在,将会覆盖。

command |& tee -a output.txt

将命令的stdout与stderr都复制至文件,此时终端依然能看到stdout与stderr。

如果文件已经存在,新数据将会添加至文件末尾。

发表评论(对文章涉及的知识点还有疑问,可以在这里留言,老高看到后会及时回复的。)

表情