Linux 输出重定向>和>>

> 是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节)。

>> 这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。(摘自:https://zhidao.baidu.com/question/274680094.html


例如我们要将一个文件夹的内容保存到文本文件中去,也就是将ls命令打印出来的内容都写到文本中去可以这样:

ls -al >> a.txt

这样a.txt文件中就是ls命令打印出来的内容了。


另外解释一下命令 “ls  >/dev/null  2>&1

按照前面的解释可以知道将ls程序运行输出的结果重定向到/dev/null文件中去,后面的2 > &1有是什么意思呢?

这里有必要将上面的这个命令完整形式写出来:

ls  1 >/dev/null  2>&1

可以看出和原来命令的区别。先来说明一下,Linux系统中

0:表示键盘输入(stdin)
1:表示标准输出(stdout),系统默认是1 
2:表示错误输出(stderr)

所以1 > /dev/null 表示将1(标准输出)重定向到/dev/null文件,将2(标准错误输出)重定向到1。2>&1表示的是2的输出重定向等同于1 的输出重定向,也就是/dev/null文件。如果写成这种形式:

ls  1 >/dev/null  2>1

其实也能实现标准错误输出的重定向,但是重定向的位置不是标准输出,而是文件“1”,系统会创建一个文件“1”然后保存标准错误输出的信息。

大神/dev/null

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值