nohup 命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。输出重定向是将程序的输出(包括标准输出和标准错误)保存到文件中,而不是显示在终端上。以下是一些使用 nohup 命令进行输出重定向的技巧:
将标准输出和标准错误重定向到同一个文件:
nohup your_command > output.log 2>&1 &
这里,> 表示将标准输出重定向到 output.log 文件,2>&1 表示将标准错误重定向到标准输出(即 output.log 文件),最后的 & 表示在后台运行命令。
将标准输出和标准错误重定向到不同的文件:
nohup your_command > output.log 2> error.log &
这里,> 表示将标准输出重定向到 output.log 文件,2> 表示将标准错误重定向到 error.log 文件。
使用 tee 命令将输出同时显示在终端和保存到文件:
nohup your_command | tee output.log &
这里,| 表示将命令的输出传递给 tee 命令,tee 命令会将输出同时显示在终端并保存到 output.log 文件。
如果你想在程序运行时实时查看日志文件,可以使用 tail 命令的 -f 选项:
tail -f output.log
这将实时显示 output.log 文件的内容。要停止实时查看,可以按 Ctrl + C。
如果你想限制日志文件的大小,可以使用 logrotate 工具或编写自定义脚本定期分割日志文件。
这些技巧可以帮助你更好地使用 nohup 命令进行输出重定向,以便在后台运行程序并记录输出。