tee用法
描述:从标准输入中读取并同时写入到标准输出和指定的文件上
选项:
-a,--append:不覆盖,而是追加输出到指定的文件中
-i,--ignore-interrupts:忽略中断信息
若指定的输出文件为'-',则再次输出到标准输出上
实例:
tee Exampletxt #将标准输入中输入的内容同时输出到Exampletxt和标准输出上
实践:
例如 ifconfig | tee ifconfiglog
查看iconfiglog
注:
标准输入一般有键盘和其它文件,标准输出有屏幕等。tee只能进行标准输入的输出,对于错误输入是不能输出的。
在调试脚本时,想要每个命令的执行过程都输出到屏幕或者文件中,以便后续查看,如何 *** 作呢?首先脚本第一行要写为“#!/bin/bash -x”,这样会把每个命令的执行记录都输出到屏幕,若还要输出到指定文件,要用到tee,但tee只能进行标准输入,对于标准输入和错误输入要用到下式:
/filenamesh 2>&1 | tee outputlog 或者直接 bash -x /filenamesh 2>&1 | tee outputlog
今天调试一个bash,要把屏幕的输出结果存到log文件中,开始输入$bash -x /testsh > log 结果发现log里只存放了程序的执行结果,后来在cu的一篇帖子里>
直接使用输出重定向到你想要的文件即可,不过将所有的控制到信息输出到一个文本文件,只有两个办法:
①:修改所有程序的输出路径:printf函数 echo几乎是不可能完成的任务
②:修改linux的标准输出路径:
句柄 句柄的数字代号 描述
STDIN 0 键盘输入
STDOUT 1 输出到命令提示符窗口
STDERR 2 错误输出到命令提示符窗口
将标准输出 标准输出的默认设置更改为你要保存的文件,这样就会控制台的信息就会输出到你指定的文件里面
获得当天的日期:date +%Y%m%d,输出: 20181130。
需要使用今天之前或者往后的日期,这时可以使用date的 -d参数:
1、获取明天的日期:date -d next-day +%Y%m%d。
2、获取昨天的日期:date -d last-day +%Y%m%d。
3、获取上个月的年和月:date -d last-month +%Y%m。
4、获取下个月的年和月:date -d next-month +%Y%m。
5、获取明年的年份:date -d next-year +%Y。
扩展资料
linux的系统时间在shell里是可以直接调用系统变量的如:
获取今天时期:`date +%Y%m%d` 或 `date +%F` 或 $(date +%y%m%d)
命令输出结果如下:
[root@centi-C sh]# date +%Y%m%d
20120727
[root@centi-C sh]# date +%F
2012-07-27
[root@centi-C sh]# date +%y%m%d
120727
参考资料来源:百度百科 - linux
百度百科 - SHELL语言
以上就是关于linux命令输出到屏幕的同时保存到文件全部的内容,包括:linux命令输出到屏幕的同时保存到文件、我用perl linux 执行管道命令,获取不到输出。、linux下如何将,控制台输出的所有内容,全部输出到一个文本文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)