一、linux输出到指定文件
在Linux系统中,我们可以使用大于号(>)将控制台输出内容重定向到指定文件中。例如:
command > logfile.txt
这条命令会将command命令的输出内容重定向到名为logfile.txt的文件中。
二、nohup 2>&1指定文件
nohup命令可以让我们在终端退出后,进程仍然继续运行。但通常我们需要将程序的输出内容保存到文件中以便后续查看。为了将nohup输出到指定文件,可以结合使用大于号和2>&1符号。具体来讲:
nohup command > logfile.txt 2>&1 &
这条命令会将command命令的标准输出和标准错误都重定向到名为logfile.txt的文件中。其中,2>&1表示将标准错误输出重定向到标准输出,&表示命令在后台运行。
三、nohup21指定文件
有时候,我们想要将nohup的输出内容保存到不同的文件中,比如将标准输出和标准错误分别保存到不同的文件中。这时我们可以用nohup21命令来实现目的。具体来讲:
nohup command 1>stdout.log 2>stderr.log &
这条命令中,1表示标准输出,2表示标准错误输出,>表示将输出内容重定向到指定文件中。
四、nohup命令输出日志
nohup命令也可以直接输出日志文件。具体来讲:
nohup command > logfile.txt & tail -f logfile.txt
这条命令会将command命令的输出内容重定向到名为logfile.txt的文件中,并使用tail -f命令实时查看logfile.txt文件的内容。
五、案例代码
下面是一个示例代码,演示了如何将Python程序的输出内容重定向到指定文件中。
import sys
import time
f = open('output.txt', 'w')
for i in range(10):
sys.stdout.write('Output to console: %d\n' % i)
sys.stdout.flush()
f.write('Output to file: %d\n' % i)
f.flush()
time.sleep(1)
f.close()
这段代码首先打开名为output.txt的文件,然后在循环中向控制台和output.txt文件中输出内容,并使用flush()函数强制刷新缓冲区。最后关闭文件。运行这段代码,并执行nohup命令将输出内容重定向到指定文件中,即可实现将程序的输出内容保存到指定文件中。