多语言展示
当前在线:1636今日阅读:86今日分享:14

Linux命令详解:[11]I/O重定向之所有输出

Linux系统中的许多程序都会产生某种输出。通常情况下这种输出都会反应在电脑屏幕上。那么能不能将这些信息保存到磁盘文件上呢?答案是肯定的,下面小编就以CentOS6.4系统为例为大家演示如何将所有的输出进行重定向。
工具/原料

CentOS6.4

什么是所有输出的重定向

上两篇中讲了两类输出:一种是程序运行的结果,也可称为标准输出;第二种是程序运行的状态和错误信息,也可称为标准错误。标准输出与标准错误的重定向都分别做了介绍,但是在很多时候,操作者需要将标准输出与标准错误同时重定向到一个磁盘文件中,那这样的功能如何实现呢?其实这就是所有输出的重定向,也就是将两种输出都重定向到一个文件。

演示范例

分别使用ls命令列出/root目录与不存在目录/li的列表,使用命令将标准输出与标准错误都重定向到list.txt目录下。

操作方法1
1

使用命令 touch list.txt 创建文件。

2

而后输入命令 ls /root  > list.txt 2>&1 进行所有输出的重定向。这种方法,实际上是完成两个重定向,首先重定向标准输出到文件list.txt,然后重定向文件描述符 2(标准错误)到文件描述符 1(标准输出),表示的方法就是 2>&1。可以从图中看出标准输出已被重定向到list.txt文件。

3

再使用命令 ls /li  > list.txt 2>&1 检查标准错误能否重定向。从图中可以看出标准错误也被重定向到list.txt文件中。当然由于使用的是重定向符>,所以list.txt文件会被重写,如果希望添加可以使用重定向符>>。

操作方法2
1

目前bash版本提供了第二种方法进行所有输出的重定向,相对更为精简一些。可在提示符下输入 ls /root &> list.txt 命令,检查标准输出是否被重定向。从图中可以看出list.txt文件中包含了ls命令的输出结果。

2

再运行命令 ls /li &> list.txt ,发现标准错误也能够被重定向。

注意事项

如果小编的经验对大家有帮助,希望能够点击下方的“投票”或者“关注”小编以获得更多的Linux系统操作经验。

推荐信息