分享交流
合作共赢!

Linux终端运行命令及结果同时保存入文件方法总结

一,把命令运行的结果保存到文件当中

用>或者>>重定向就可以把输出内容保存在某个文件里面,

例子:
[lhd@hongdi ~]$ ls > ls.txt
[lhd@hongdi ~]$ cat ls.txt
1.gtkrc-2.0
2009
a
amsn_received
a.tar.gz

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

二,在输出信息的同时把信息记录到文件中

我们在上面的例子中可以看到, 我们使用输出转向, 命令在终端上的输出转
向到了文件中,但如果我希望能同时在终端上看到输出信息怎么办?
我们可以使用这个命令: tee
解释一下tee 的作用:
read from standard input and write to standard output and files
它从标准输入读取内容并将其写到标准输出和文件中

看例子:
[lhd@hongdi ~]$ ls | tee ls_tee.txt
1.gtkrc-2.0
2009
a
amsn_received
a.tar.gz
[lhd@hongdi ~]$ cat ls_tee.txt
1.gtkrc-2.0
2009
a
amsn_received
a.tar.gz
备注:使用tee 时,如果想保留目标文件原有的内容怎么办?
可以使用-a 参数
-a, --append
append to the given FILEs, do not overwrite
附加至给出的文件,而不是覆盖它

三,多个命令的输出都需要记录,可以用script【推荐】

此内容查看价格1立即购买

四,用script 录制并播放session 的内容

1.用Script记录回话内容

用script 把整个终端会话的所有操作和输出录制下来,然后再用scriptreplay 进行播放。如果录制时记录下来了操作时的时间数据, 那么播放时和操作时的使用时间完全相同。这个很有用吧, 比如:我们可以把安装软件时编译的过程记录下来, 然后给别人进行演示,看如下例子:

[lhd@hongdi ~]$ script. -t 2>example.time -a example.txt
Script. started, file is example.txt
[lhd@hongdi ~]$ ls
说明: -t 2>example.time -t 是把时间数据输出到标准错误(standard error) ,所以我们使用2>example.time 把数据转向到example.time 这个文件当中

2.播放所记录的内容

第一步:安装scriptreplay

下载
wget linux/utils/util-linux/util-linux-2.12r.tar.bz2">ftp://ftp.kernel.org/pub/linux/utils/util-linux/util-linux-2.12r.tar.bz2
解压
tar -jxvf util-linux-2.12r.tar.bz2
之后复制文件到系统的命令目录中即可
[root@hongdi 下载]# cp util-linux-2.12r/misc-utils/scriptreplay.pl /usr/bin/scriptreplay
[root@hongdi 下载]# chmod 755 /usr/bin/scriptreplay
备注: fedora 10 的util-linux-ng-2.14.1-3.2.fc10.i386.rpm 此包中已包含scriptreplay, 已无需另行安装

第二步:播放所录制的session 内容

[lhd@hongdi ~]$ scriptreplay example1.time example1.txt
[lhd@hongdi ~]$ ls
1.gtkrc-2.0 c.tar jeffray_lee@hotmail.com pass
[lhd@hongdi ~]$ abcd
bash: abcd: command not found
[lhd@hongdi ~]$ exit
赞(0) 打赏
未经允许不得转载:琼杰笔记 » Linux终端运行命令及结果同时保存入文件方法总结

评论 抢沙发

评论前必须登录!

 

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册