前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Liunx基础-记录终端输出到文本文件

Liunx基础-记录终端输出到文本文件

作者头像
嵌入式视觉
发布2022-09-05 14:42:37
1.6K0
发布2022-09-05 14:42:37
举报
文章被收录于专栏:嵌入式视觉

Contents

前言

在工程项目中碰过过这样一个需求:需要从终端输出的结果解析出运行时间数据,手动肉眼读对于大量的时间数据而言肯定不现实,并且对于专业的程序员而言,要想着从程序的角度去解决工程问题,能用代码解决的问题都一定要用标准的代码去解决。所以才有了这篇文章,用 Linux 命令将终端输出结果记录到文件中,再由正则表达式方法解析文本文件抽取时间数据。

概述

Linux 系统中有三个命令可以记录终端输出到文本文件中,分别是 >teescript

输出重定向 > 方法

输出重定向是指命令的结果不再输出到显示器上,而是输出到其它地方,一般是文件中。这样做的最大好处就是把命令的结果保存起来,当我们需要的时候可以随时查询。 重定向一般通过在命令间插入特定的符号来实现。输出重定向:把单个命令输出结果保存到文件中,用 > 符号实现输出重定向,使用方法如下。

代码语言:javascript
复制
$ifconfig > network.txt  # 或者 ifconfig --> network.txt,把 ifconfig命令运行的结果保存到network.txt 文件中

重定向符号说明:

  • > 是把输出转向到指定的文件,如文件已存在的话也会重新写入,文件原内容不会保留。
  • >> 是把输出附向到文件的后面,文件原内容会保留下来。

tee 命令

前面的 > 命令不会输出命令信息,tee 命令可以再输出信息的同时把信息记录到文件,用法解释:

  • tee – read from standard input and write to standard output and files. 从标准输入读取并写入到标准输出和文件中
  • -a 参数,append to the given FILEs, do not overwrite. 附加至给出的文件,而不是覆盖它。

使用方法如下:

代码语言:javascript
复制
$ ls -al | tee ls.txt  # #将会在终端上显示 ls -al 命令的执行结果,并把执行结果输出到 ls.txt 文件中(原本的内容被覆盖) 

script 命令

多个命令的输出都需要记录的情况使用 script 命令,例子:

代码语言:javascript
复制
$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中记录终端输出到文本文件

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 概述
  • 输出重定向 > 方法
  • tee 命令
  • script 命令
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档