nohup 命令是后台运行程序的利器,即使关闭终端或断开 SSH 连接,它也能持续运行。默认情况下,nohup 将输出写入 nohup.out 文件。但许多用户希望自定义输出文件路径,例如保存到指定的日志目录。如何设置 nohup 命令的输出文件路径?下面介绍两种实用方法,可根据个人习惯选择。

- 使用重定向符号
>指定输出文件
这是最直接的方式。若要将输出保存到/tmp/my_output.log,可执行以下命令:
nohup your_command > /tmp/my_output.log 2>&1 &
将 your_command 替换为实际需要运行的命令。2>&1 表示将标准错误(文件描述符2)重定向到标准输出(文件描述符1),从而将错误信息也写入同一日志文件。末尾的 & 使命令在后台运行,不占用当前终端。
- 通过
nohup的-o选项指定输出文件
若觉得上述写法略显复杂,也可使用nohup内置的-o选项,更为简洁:
nohup -o /tmp/my_output.log your_command &
效果与第一种方法相同,都将输出定向到指定文件,并在后台运行。注意,-o 选项后直接跟文件路径,无需额外添加 > 符号。
有一点需要提醒:无论使用哪种方式,都必须确保对目标路径拥有写入权限,否则程序将报错。
