个人亲测最有用的办法(既能在控制台输出又能同时将输出保存在txt文件里)
python script.py | tee output.txt
在Linux的bash中,有多种方法可以把指令和它们的输出保存下来。以下是几种常用的方法:
-
重定向到文件:
使用>
或>>
将命令输出重定向到文件。>
用于创建新文件或覆盖现有文件,而>>
用于追加到现有文件。command > output.txt # 创建或覆盖文件 command >> output.txt # 追加到文件
-
使用
tee
命令:
tee
命令读取标准输入并写入标准输出和文件。这允许你在终端看到输出的同时,也把它保存到文件中。command | tee output.txt # 创建或覆盖文件 command | tee -a output.txt # 追加到文件
-
使用
script
命令:
script
命令可以用来记录你的终端会话,包括输入的命令和输出的结果。这对于记录复杂的操作会话非常有用。script session.txt # 现在,你在终端中的所有操作都会被记录到session.txt中。 # 使用 exit 命令或按 Ctrl-D 来结束会话。
-
使用Shell脚本:
如果你想要同时记录命令和输出,可以写一个简单的shell脚本,在脚本中使用set -x
来打印执行的命令,使用重定向或tee
来保存输出。#!/bin/bash exec > log.txt 2>&1 set -x command1 command2
这个脚本会把所有命令的输出(包括标准输出和标准错误)重定向到
log.txt
,同时set -x
会在执行前打印每个命令。
选择哪种方法取决于你的具体需求。如果你只是偶尔需要保存某个命令的输出,使用重定向或tee
可能就足够了。如果你需要详细记录一个复杂的操作过程,script
命令可能更适合你的需求。