一、命令简介
tee命令的作用就是读取标准输入内容,将读取到的数据写到标准输出和文件。应用场景一就是有时候我们希望操作命令既显示到屏幕又保存到文档,tee命令是我们的不二选择;应用场景二是重复展示输入内容;应用场景三是可以将文件同时复制多份。当然tee命令还可以与其他命令结合使用,组合达到我们期待的效果。
二、使用示例
1、获取命令帮助
[root@s141 scrtipts]# tee --help
2、查看命令版本
[root@s141 scrtipts]# tee --version
tee (GNU coreutils) 8.22
Copyright © 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Parker, Richard M. Stallman, and David MacKenzie.
3、查看块设备列表并记录到文件存档
[root@s141 scrtipts]# lsblk |tee lsblk.s141.txt
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
├─centos-root 253:0 0 38.3G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 18.7G 0 lvm /home
sr0 11:0 1 4.3G 0 rom
[root@s141 scrtipts]# cat lsblk.s141.txt
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
├─centos-root 253:0 0 38.3G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 18.7G 0 lvm /home
sr0 11:0 1 4.3G 0 rom
4、重复多次标准输入内容
[root@s141 scrtipts]# echo “----------welcome back---------” | tee - - - - -
----------welcome back---------
----------welcome back---------
----------welcome back---------
----------welcome back---------
----------welcome back---------
----------welcome back---------
5、将文件复制多份
6、静默输出到文件
通过将输出重定向到/dev/null达到静默效果
[root@s141 scrtipts]# hostname |tee lsblk.s141.txt > /dev/null
[root@s141 scrtipts]# cat lsblk.s141.txt
s141
效果等同于>到文件
[root@s141 scrtipts]# cat 2.txt
s141
7、使用追加方式写入文件
8、将错误信息也输出到文件
tee命令默认之将标准输入的普通信息输出到文件,错误信息丢弃,通过如下方式可以实现将错误信息也同步输入到文件
9、直接通过键盘往文件输入
使用ctrl+D命令结束输入。
10、-i参数使用示例
正常情况下使用ctrl+C会结束输入,当使用-i参数时中断操作指令ctl+C无效,只可以使用ctrl+D结束输入。
三、使用语法及参数说明
1、使用语法
用法:tee [OPTION]… [FILE]…
2、参数说明
参数 | 参数说明 |
---|---|
-a,–append | 附加到既有文件的后面,而非覆盖它. |
-i,–ignore-interrupts | 忽略中断信号。 |
–help | 在线帮助。 |
–version | 显示版本信息。 |