且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

双向重定向指令 tee

更新时间:2022-09-20 23:39:44

tee指令用于将数据流的处理过程保存到文件中,与>的功能很类似,但是tee可以在保存数据流到文件的同时,将数据流输出到屏幕上,这一点是>不能做的。使用tee可以结合cut,head等指令,在保存数据的同时灵活的查看保存到文件中的内容。

将ls -l /home的输出内容保存再test2.txt  同时读取test2.txt内容显示到屏幕:

1
2
3
4
5
6
[whx@localhost test]$ ls -l /home |tee ./test2.txt | more 
total 4
drwx------. 29 whx whx 4096 Aug 23 22:54 whx
[whx@localhost test]$ cat test2.txt
total 4
drwx------. 29 whx whx 4096 Aug 23 22:54 whx


使用>去不能实现保存数据流的同时读取test3.txt内容,只能单独读取。

1
2
3
4
[whx@localhost test]$ ls -l /home >test3.txt| more
[whx@localhost test]$ cat test3.txt
total 4
drwx------. 29 whx whx 4096 Aug 23 22:54 whx


单独使用tee命令也能将数据流内容显示到屏幕,而>却不能实现这个功能。

1
2
3
4
[whx@localhost test]$ ls -l /home >test4.txt 
[whx@localhost test]$ ls -l /home tee test5.txt
total 4
drwx------. 29 whx whx 4096 Aug 23 22:54 whx


将last的内容保存到last.list屏显示last中的第一列的内容:

1
2
3
4
5
6
[whx@localhost test]$ last | tee  last.list |cut -d ' ' -f 1                   
whx
whx
reboot
whx
...

查看刚才保存的last.list:

1
2
3
4
5
[whx@localhost test]$ cat last.list
whx      pts/0        192.168.21.1     Wed Aug 23 18:18   still logged in   
whx      tty1         :0               Wed Aug 23 18:18   still logged in   
reboot   system boot  2.6.32-696.el6.x Wed Aug 23 18:15 - 23:59  (05:43) 
...


添加-a参数,向文件末尾追加内容,同时输出文件后两行内容:

1
2
3
[whx@localhost test]$ ls -l /home |tee -a last.list | tail -n 2 
total 4
drwx------. 29 whx whx 4096 Aug 23 22:54 whx



本文转自 天黑顺路 51CTO博客,原文链接:http://blog.51cto.com/mjal01/1959022,如需转载请自行联系原作者