通过tee命令或等效工具将终端中的所有数据存储到文本文件中

时间:2014-09-04 06:34:04

标签: linux tee

我了解到tee命令会将STDOUT存储到文件以及输出到终端。

但是,这里的问题是每次我必须给tee命令,我给的每一个命令。

linux中是否有任何方法或工具,所以无论我在终端运行什么,它都应该存储命令以及输出。 (我在MySQL中使用了tee命令,它将所有命令和输出存储到整个会话的文件中。我期待一个类似于此的工具。)

编辑: 当我运行script -a log.txt时,我在log.txt文件中看到^ M个字符以及^ [和^]个字符。我使用了各种dos2unix, :set ff=unix, :set ff=dos命令,但它们没有帮助我删除这些^ [,^]字符。 有没有方法,我可以直接获取纯文本文件(没有这些额外的字符)。

操作系统:RHEL 5

2 个答案:

答案 0 :(得分:1)

您可以使用脚本命令将所有内容写入文件

script -f log.txt

答案 1 :(得分:-2)

您可以使用类似alias ls="ls;echo ls >>log"之类的别名,因此每次运行ls时,它都会运行echo ls >>log。 但是在这种情况下脚本可能会更好,只是在你使用脚本时不要进入vi。