Linux 运行执行文件并将日志输出保存到文本文件中

在 Linux 系统中运行可执行文件并将日志输出保存到文本文件中,可以使用以下几种方法:

方法一:使用重定向符号 > 或 >>

  1. 覆盖写入(>

    ./your_executable > logfile.txt
    

    这会将可执行文件的输出(包括 stdout 和 stderr)覆盖写入到 logfile.txt 文件中。

  2. 追加写入(>>

    ./your_executable >> logfile.txt
    

    这会将可执行文件的输出追加到 logfile.txt 文件中,不会覆盖原有的内容。

  3. 同时捕获 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 可以记录整个终端会话。
  • 使用 & 可以后台运行程序并重定向输出。

根据你的需求选择合适的方法即可。

你可能感兴趣的:(linux)