OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

将标准输出和标准错误重定向到一个文件

在某些情况下,我们可能希望将命令的所有输出捕获到单个文件中。 为此,我们必须同时重定向标准输出和标准错误。 有两种方法可以做到这一点。 首先,传统方式,适用于旧版本的 shell:



[我@linuxbox ~]$ ls -l /bin/usr > ls-output.txt 2>&1

[我@linuxbox ~]$ ls -l /bin/usr > ls-output.txt 2>&1


使用这种方法,我们执行两次重定向。 首先我们将标准输出重定向到文件 ls-输出.txt 然后我们使用符号将文件描述符 2(标准错误)重定向到文件描述符 XNUMX(标准输出) 2>&1.


图片

请注意,重定向的顺序很重要。 标准错误的重定向必须始终发生 after 重定向标准输出或它不起作用。 在上面的例子中,


>ls-output.txt 2>&1


将标准错误重定向到文件 ls-输出.txt,但如果顺序改为


2>&1 >ls-output.txt


标准错误直接显示在屏幕上。


图片

最近的版本 打坏 提供第二种更简化的方法来执行此操作

重定向标准错误


组合重定向:



[我@linuxbox ~]$ ls -l /bin/usr &> ls-output.txt

[我@linuxbox ~]$ ls -l /bin/usr &> ls-output.txt


在这个例子中,我们使用单一符号 &> 将标准输出和标准错误都重定向到文件 ls-输出.txt. 您还可以将标准输出和标准错误流附加到单个文件中,如下所示:



[我@linuxbox ~]$ ls -l /bin/usr &>> ls-output.txt

[我@linuxbox ~]$ ls -l /bin/usr &>> ls-output.txt


OnWorks 的顶级操作系统云计算: