Linux重定向的简单理解

首先是一条命令nohup /usr/local/node/bin/node /www/im/chat.js >> /usr/local/node/output.log 2>&1 &

这是一条很简单的命令,但这条命令下有三个地方需要理解记忆的:

  • nohup命令,不挂断地运行命令,nohup --help可以查看怎么使用。
  • 最末的&符号,代表该命令是后台进程,在后台运行,不占用shell。
  • 2>&1,首先需要理解linux中的重定向。

    • 2代表错误输出信息,1代表屏幕输出,0表达键盘输入。
    • 这里是把错误信息输出到屏幕上。我们注意到&符号,这里只是为了区分。如果我们敲2>1,会把错误信息输出到文件名为1的文件中,鉴此,使用&来区分。

      在这里有两个命令写法,command > file 2 > filecommand > file 2>&1,第一个命令会打开FD1和FD2两个通道抢占file,抢占式写;而第二个则只用打开FD1管道去写file。

这里要注意的:FD0代表标准输入,FD1代表标准输出,FD2代表错误输出。