You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何将sudo screen命令输出写入.txt文件?重定向方式无效

解决方案

方法1:使用Screen内置日志功能(推荐)

Screen自带原生日志记录功能,是适配性最好的方案,启动时添加对应参数即可:

  • 生成默认日志文件(screenlog.0):
sudo screen -L /dev/ttyUSB0 115200
  • 自定义日志文件名:
sudo screen -L -Logfile serial_output.txt /dev/ttyUSB0 115200

日志会实时写入指定文件,退出Screen会话后记录自动停止。

方法2:用script命令捕获完整会话输出

script命令可以记录整个终端会话的所有交互内容,包括Screen的输出:

sudo script -c "screen /dev/ttyUSB0 115200" serial_output.txt

执行后会直接进入Screen会话,所有操作和设备输出都会被写入serial_output.txt,退出Screen后script自动停止记录。

方法3:在已运行的Screen会话中临时开启日志

如果已经进入Screen会话,无需重启即可开启日志:

  1. 按下快捷键 Ctrl + a(Screen的命令前缀)
  2. 按下大写的 H
    此时会在当前目录生成screenlog.0文件,再次执行Ctrl+a+H可停止日志记录。

为什么之前的重定向无效?

Screen是终端复用工具,它会直接接管终端设备进行交互,输出内容是直接发送到终端窗口而非进程的标准输出(stdout)。普通的>/>>重定向只能捕获进程向stdout/stderr输出的内容,因此无法抓取Screen的终端交互输出。

内容的提问来源于stack exchange,提问作者RS25

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:09:24