Erlo

linux控制台输出到文件 - /dev/null与2>&1讲解

时间:2020-03-27 00:00   阅读:16次   来源:博客园
页面报错
点赞

首先先来看下几种标识的含义:

    先看/dev/null 

    command > /dev/null相当于执行了command 1 > /dev/null。执行command产生了标准输出stdout(用1表示),重定向到/dev/null的设备文件中

/dev/null可以理解为/dev路径下的空文件;该命令将command命令的标准输出输出到空文件中;

    再看 1>test.log

    执行./test.sh > res1.log 或 ./test.sh 1> res1.log结果为

我们发现stdout被重定向到了res1.log中,stderr并没有被重定向到res1.log中,stderr被打印到了屏幕上。

    2>test.log

    执行./test.sh 2> res3.log结果为

我们发现stderr被重定向到了res3.log中

    2>&1

    command>a 2>&1 可以理解为执行command产生的标准输出重定向到文件a中,标准错误也重定向到文件a中,期间只打开一次文件a,&1的含义就可以理解为用标准输出的引用,引用的就是重定向标准输出产生打开的a。

 

    执行./test.sh>res2.log 2>&1结果为

这次我们发现stdout和stderr都被重定向到了res2.log中了

 

下面是一个挂后台的样例:

 

nohup sh loop_dwa_m_sms_chunjie_fs_zdg.sh 20190120 >loop_dwa_m_sms_chunjie_fs_zdg.log 2>&1 &

评论留言

还没有评论留言,赶紧来抢楼吧~~

吐槽小黑屋()

* 这里是“吐槽小黑屋”,所有人可看,只保留当天信息。

  • Erlo.vip2020-04-04 09:33:40Hello、欢迎使用吐槽小黑屋,这就是个吐槽的地方。
  • 返回顶部