Liunx基础-记录终端输出到文本文件
2023-06-13 09:11:58 时间
Contents
前言
在工程项目中碰过过这样一个需求:需要从终端输出的结果解析出运行时间数据,手动肉眼读对于大量的时间数据而言肯定不现实,并且对于专业的程序员而言,要想着从程序的角度去解决工程问题,能用代码解决的问题都一定要用标准的代码去解决。所以才有了这篇文章,用 Linux
命令将终端输出结果记录到文件中,再由正则表达式方法解析文本文件抽取时间数据。
概述
在 Linux
系统中有三个命令可以记录终端输出到文本文件中,分别是 >
、tee
和 script
。
输出重定向 > 方法
输出重定向是指命令的结果不再输出到显示器上,而是输出到其它地方,一般是文件中。这样做的最大好处就是把命令的结果保存起来,当我们需要的时候可以随时查询。
重定向一般通过在命令间插入特定的符号来实现。输出重定向:把单个命令输出结果保存到文件中,用 >
符号实现输出重定向,使用方法如下。
$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. 附加至给出的文件,而不是覆盖它。
使用方法如下:
$ 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
文件中。
参考资料
相关文章
- USB 摄像头 进行python OpenCV 操作的基础设置【以yolo 目标检测为例】
- Shell 编程语法基础
- c语言基础—-字符串数组
- 对Docker基础镜像的思考,该不该选择alpine
- CUDA 基础 01 - 概念
- 基础的递归数列「建议收藏」
- Python基础-7 输入与输出
- Python基础(十二):字典的详细讲解
- Python基础(二十):面向对象基础
- 生信学习小组Day4 R语言的基础--大姚
- 【JavaSE学习】Day2 JavaSE基础语法
- PostgreSQL 数据库基础 之 Sequence序列的使用介绍
- mongoDB数据库基础 之 使用投影剔除‘额外’字段的操作过程
- Java基础学习笔记二十一 多线程详解编程语言
- Java基础加强之反射详解编程语言
- python基础入门详解(文件输入/输出内建类型字典操作使用方法)