Linux重定向详解

数据流重定向(redirect)就是将某个命令执行后应该要出现在屏幕上的数据,给它传输到其他的地方,例如:文件或设备(打印机之类的)。这玩意在Linux的命令行模式下很重要,尤其是想要将某些数据存储下来时!

一、什么是数据流重定向?

数据流重定向就是将数据标准输出和数据标准错误输出分别传送到文件或者设备中去;

分为以下几种种:

1、标准输入重定向   :代码为 0 ,使用 < 
2、标准追加输入重定向      :代码为 0    使用<<

3、标准输出             :代码为 1 ,使用 >
4、标准追加输出重定向 :代码为 1 使用>>


5、标准错误输出   :代码为 2 ,使用 >
6、标准错误追加输出重定向 :代码为 2 使用>>

 

使用方法说明:

1> :以覆盖的方法将“正确的数据”输出到指定的文件或设备上;

1>>:以累加的方法将“正确的数据”输出到指定的文件或设备上;

2> :以覆盖的方法将“错误的数据”输出到指定的文件或设备上;

2>>:以累加的方法将“错误的数据”输出到指定的文件或设备上;

 

二、Linux数据流重定向 使用示例

创建一个用户:laofan ,

useradd laofan

当我们用laofan这个账户 执行find 命令时,由于权限问题会报错。

su laofan     #切换为laofan
find /home -name .bashrc    #执行查找命令

由于 /home 下边还有我们建立的其他用户,这些账户的根目录你当然不能进入,所以就有错误和正确数据了。

 

情景一:假如我想要将数据输出到 list 这个文件中

 find /home -name .bashrc > list

结果: list里边存了刚刚那个 正确的输出数据,屏幕上还会有错误的信息出现

 

情景二:我想要把正确的与错误的信息分别存入不同的文件

cat/etc/abc > list_right 2> list_error

结果: 此时屏幕上不会出现任何信息了。刚刚执行的结果中,有 Permission 的那几行错误信息都会进入 list_error文件中,正确的输出数据会到 list_right文件中!

 

三、垃圾桶黑洞: /dev/null

#将错误信息丢弃,屏幕只显示正确的信息
cat/etc/abc  2>   /dev/null     

#将命令的数据全部写入文件list
cat/etc/abc  &> list

#将命令的数据全部丢进垃圾桶
cat/etc/abc   &>   /dev/null

返回首页

赞赏

微信赞赏支付宝赞赏

Linux基础

Linux如何配置SVN

2019-12-24 10:41:03

Linux基础

四层负载均衡和七层负载均衡的区别

2020-1-9 10:46:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索