目录
引言 在工程项目中,我曾遇到这样一个需求:需要从终端输出中解析出运行时间数据。手动读取大量时间数据显然不现实,对于专业程序员来说,应该从程序的角度解决工程问题,能用代码解决的问题都应该用标准的代码解决。因此,本文介绍了如何使用 Linux 命令将终端输出记录到文件中,并通过正则表达式解析文本文件来提取时间数据。
概述
在 Linux 系统中,有三个命令可以将终端输出记录到文本文件中,分别是 >、tee 和 script。
输出重定向 > 方法
输出重定向是指将命令的结果输出到显示器之外的地方,通常是文件中。这样做的最大好处是可以保存命令结果,以便需要时随时查询。重定向通常通过在命令之间插入特定的符号来实现。输出重定向是将单个命令的输出结果保存到文件中,通过 > 符号实现,使用方法如下:
$ ifconfig > network.txt # 或者 ifconfig --> network.txt,将 ifconfig 命令的运行结果保存到 network.txt 文件中
重定向符号说明:
> 将输出重定向到指定的文件,如果文件已存在,则会重新写入,原文件内容不会保留。>> 将输出追加到文件的末尾,文件原内容会保留。
tee 命令
前面的 > 命令不会在终端上显示命令信息,而 tee 命令可以在输出信息的同时将信息记录到文件中,用法解释如下:
tee – 从标准输入读取并写入到标准输出和文件中。
-a 参数,附加到给定的文件,而不是覆盖它。使用方法如下:
$ ls -al | tee ls.txt # 将会在终端上显示 ls -al 命令的执行结果,并将执行结果输出到 ls.txt 文件中(原本的内容会被覆盖)
script 命令
当需要记录多个命令的输出时,可以使用 script 命令,例子如下:
$ script -a terminal.txt Script started, output log file is 'terminal.txt'. $ ls -al ... 内容省略 $ exit Script done. $ cat terminal.txt # 查看 terminal.txt 文本文件内容

从上图可以看出,script;...;exit 命令会将终端输出的所有内容都保存下来,包括我们输入的命令和命令的输出内容。$script -a terminal.txt # 终端输出内容被记录到 terminal.txt 文件中,如果没有指定 -a 参数,它会自动记录到当前目录中的一个名为 typescript 文件中。
参考文献 Linux中记录终端输出到文本文件
以上就是Liunx基础-记录终端输出到文本文件的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号