重定向命令
| 命令 | 说明 |
|---|---|
| command > file | 输出重定向到文件 |
| command < file | 输入重定向到文件 |
| command >> file | 输出以追加方式重定向到文件 |
| command << file | 输入以追加方式重定向到文件 |
文件描述符
| 描述符 | 含义 |
|---|---|
| 0 | 标准输入(STDIN) |
| 1 | 标准输出(STDOUT) |
| 2 | 标准错误输出(STDERR) |
举例,你写了个比对脚本 Alignment.sh 你希望在后台跑,同时希望任何本应打印到屏幕的输出保存到日志文件 Alignemt.log,此时命令如下:
sh Alignment.sh > Alignment.log 2>&1
后面的 2>&1 意思是将标准错误输出(STDERR)重定向到标准输出(STDOUT),这样所有的输出就一起被重定向到 Alignment.log 文件了。
当然,用 nohup 命令可以更简单,但如果你一个目录内多次不同命令 nohup 了会把所有日志都输出到一个 nohup.out 文件,这就很不方便了。