2>/dev/null 、>、>>、2>&1的区别

8 篇文章 0 订阅

一、Linux中 > 与 >> 的含义

> 覆盖 和 >> 追加

1)基本语法

(1)ll >文件 1   (功能描述:列表的内容写入文件1中(覆盖写))

(2)ll >>文件2         (功能描述:列表的内容追加到文件2的末尾)

(3)cat 文件1 > 文件2   (功能描述:将文件1的内容覆盖到文件2)

(4)echo “内容” >> 文件

<  :由 < 的右边读入参数档案;
>  :将原本由屏幕输出的正确数据输出到 > 右边的 file ( 文件名称 ) 或 device ( 装置,如 printer )去;
>> :将原本由屏幕输出的正确数据输出到 >> 右边,与 > 不同的是,该档案将不会被覆盖,而新的数据将以『增加的方式』增加到该档案的最后面;
2> :将原本应该由屏幕输出的错误数据输出到 2> 的右边去。
/dev/null :可以说成是黑洞装置!

2) Linux中文件描述符

Linux系统预留可三个文件描述符:0、1和2,他们的意义如下所示:

0——标准输入(stdin)
1——标准输出(stdout)
2——标准错误(stderr)

从键盘获得输入 /proc/self/fd/0 
输出到控制台 /proc/self/fd/1 
输出到控制台 /proc/self/fd/2

 二、2>/dev/null >/dev/null 2>&1 2>&1>/dev/null 区别

command标准输出(1)错误输出(2)
>/dev/null 2>&1不显示不显示
2>&1 >/dev/null  不显示显示
/dev/null  可以称为黑洞,是一个只写文件,抛弃一切写入其中的数据

2>/dev/null   => 把错误输出到“黑洞”

>/dev/null 2>&1   前面省略了标准输出1,原型 1>/dev/null 2>&1

   ==> 标准输出重定向到 /dev/null,错误输出重定向到标准输出,前面标准输出已重定向到 /dev/null,所以标准输出/错误输出都重定向到 /dev/null, 输出到黑洞

2>&1 >/dev/null   原型 2>&1 1>/dev/null  =>  错误输出重定向到标准输出(控制台),标准输出重定向到 /dev/null

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值