LINUX命令后面常见的>/DEV/NULL 和 2>&1 的含义

转自:http://www.sunnyu.com/?p=177

为了避免在开发服务器使用ftp上传代码文件,导致文件不一致问题的现象。今天做一个从版本库中自动同步文件到开发服务器的脚本,同时可以规范版本库的使用。

简单编写了一下脚本,通过ssh登陆在命令行下运行正常,可是将脚本添加到crontab中就不正常。想记录一下输出信息,分析一下错误原因。
将脚本通过使用 > info.log 重定向输出,结果发现一些在命令行下可以看到的文本信息没有记录到 info.log 文件中,研究了一下,那些输出估计是输出到了标准错误上。

研究了一下通常添加命令后面几个输出含义

  • >/dev/null

    输出到空设备,表示丢掉输出信息。

  • 2 > &1

    将输出到标准错误的信息输出到标准输出设备(通常是屏幕)
    有3个默认的i/o,

  • 是标准输入,一般是键盘
  • 是标准输出,一般是屏幕了
  • 是标准错误,有时候屏幕上可以看到,但是重定向的文件中看不到的就是它了

阅读更多
个人分类: Shell
上一篇五种利用strace查故障的简单方法
下一篇玩转Google开源C++单元测试框架Google Test系列(gtest)(总)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭