我了解到tee命令会将STDOUT存储到文件以及输出到终端。
但是,这里的问题是每次我必须给tee命令,我给的每一个命令。
linux中是否有任何方法或工具,所以无论我在终端运行什么,它都应该存储命令以及输出。 (我在MySQL中使用了tee命令,它将所有命令和输出存储到整个会话的文件中。我期待一个类似于此的工具。)
编辑:
当我运行script -a log.txt
时,我在log.txt文件中看到^ M个字符以及^ [和^]个字符。我使用了各种dos2unix, :set ff=unix, :set ff=dos
命令,但它们没有帮助我删除这些^ [,^]字符。
有没有方法,我可以直接获取纯文本文件(没有这些额外的字符)。
操作系统:RHEL 5
答案 0 :(得分:1)
您可以使用脚本命令将所有内容写入文件
script -f log.txt
答案 1 :(得分:-2)
您可以使用类似alias ls="ls;echo ls >>log"
之类的别名,因此每次运行ls
时,它都会运行echo ls >>log
。
但是在这种情况下脚本可能会更好,只是在你使用脚本时不要进入vi。