在 Linux 系统中运行可执行文件并将日志输出保存到文本文件中,可以使用以下几种方法:
方法一:使用重定向符号 > 或 >>
-
覆盖写入(>): - ./your_executable > logfile.txt
复制代码这会将可执行文件的输出(包括 stdout 和 stderr)覆盖写入到 logfile.txt 文件中。 -
追加写入(>>): - ./your_executable >> logfile.txt
复制代码这会将可执行文件的输出追加到 logfile.txt 文件中,不会覆盖原有的内容。 -
同时捕获 stdout 和 stderr: - ./your_executable > logfile.txt 2>&1
复制代码这会将 stdout 和 stderr 都重定向到 logfile.txt 文件中。
方法二:使用 tee 命令
tee 命令可以将输出同时显示在终端并写入文件: - ./your_executable | tee logfile.txt
复制代码
这会将可执行文件的输出显示在终端的同时写入 logfile.txt 文件中。
方法三:使用 script 命令
script 命令可以记录终端会话的所有输出和输入: - script logfile.txt
- ./your_executable
- exit
复制代码
这会记录整个会话(包括命令和输出)到 logfile.txt 文件中。
方法四:使用重定向和 & 后台运行
如果你想在后台运行可执行文件并记录日志: - ./your_executable > logfile.txt 2>&1 &
复制代码
这会将可执行文件放到后台运行,并将所有输出(stdout 和 stderr)写入 logfile.txt 文件中。
总结
- 使用 > 或 >> 重定向符号可以直接将输出写入文件。
- 使用 tee 可以在终端显示输出的同时写入文件。
- 使用 script 可以记录整个终端会话。
- 使用 & 可以后台运行程序并重定向输出。
根据你的需求选择合适的方法即可。 |