怎么利用logsave将命令输出保存起来

2022年 10月 17日 发表评论

新春采购季点击领腾讯云8888元代金券阿里云史上最大力度降价,最高降55%:点击了解续费贵、升级贵,选配置高、长期的产品;腾讯云老用户享新人优惠方法:用Q登录、1人可注册3个新账号帕鲁火热:点击一键部署阿里云帕鲁服务器点击一键部署腾讯云帕鲁服务器

本站与您分享了如何使用logsave保存命令输出。希望你看完这篇文章有所收获。大家一起讨论一下。

前言

如果要将命令输出保存到文件中,您会怎么做?

一种常见的方法是使用输入输出重定向

Ls/tmp/ls.txt21如果您需要将命令输出保存到一个文件中,并将内容输出到屏幕上,那么我们可以使用tee命令

Ls|tee/tmp/ls.txt然而今天我发现还有一个logsave命令,可以将命令输出保存到一个文件中,同时将内容页面输出到屏幕上。

logsave 的语法非常简单:

log save[-asv]logfile cmd _ Prog[args.]选项

-a:将信息附加到指定的日志文件。

参数

日志文件:指定记录操作信息的日志文件;

命令:要执行的命令。

日志保存将执行cmd_prog参数.并将命令输出的副本保存到日志文件中。最棒的是,即使日志文件所在的目录不存在,logsave也会将输出保存到内存中,等到日志文件所在的目录建立后,再将内容写入日志文件。

logsave的这一特性使其适合在系统启动脚本中使用,将输出内容保存在内存中,直到/var/directory安装完毕,然后将内容写入/var/log/

例如,以下示例

#删除存储日志文件的目录

rm-rf/tmp/logdir

#使用logsave保存日志文件

log save/tmp/log dir/logfilebash-c ' sleep 2;日期

#创建日志目录

mkdir/tmp/logdir

回显以查看日志文件是否生成:

ls-l/tmp/logdir

回声在2秒后等待:

睡眠2

回声再次检查日志文件是否生成:

ls-l/tmp/logdir

回显查看日志文件:的内容

cat/tmp/logdir/log file 2018年5月14日星期一16:31:44CST

检查日志文件是否生成:

总消耗量0

等待2s后:

再次检查日志文件是否生成:

总消耗量4

-rw-r-r-1 lujun 9972 lujun 99721415 1416:31 log file

检查日志文件:的内容

logofbash-cs LEEP 2;日期

一月1416:313360422018

2018年5月14日星期一16:31:44CST

一月1416:313360442018

-从中可以看到:

起初,由于logdir不存在,无法生成日志文件,但在logdir创建后,logsave最终成功生成了日志文件,并将date命令的执行结果写入其中。

Logsave不仅将命令的输出内容写入日志文件,还包括执行的命令、命令执行的开始时间和命令执行的结束时间。

logsave中的Cmd_prog可以是一个特殊的-,这意味着logsave从标准输入中获取要记录的内容,这使得logsave可以像tee一样使用

ls | WC-l | log save/tmp/1 . txt-/dev/null

Cat/tmp/1.txt看完这篇文章,相信大家对“如何保存logsave输出的命令”有一定的了解。如果你想了解更多的相关知识,请关注本站。谢谢你的阅读!

小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: