2021-07-06 10:04:58 +08:00
|
|
|
|
# Tee 命令说明
|
2019-03-26 09:40:48 +08:00
|
|
|
|
|
|
|
|
|
tee 命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的 stdin。简单的说就是把数据重定向到给定文件和屏幕上。
|
|
|
|
|
|
|
|
|
|
存在缓存机制,每 1024 个字节将输出一次。若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定的文件中。若文件内容不到 1024 个字节,则接收完从标准输入设备读入的数据后,将刷新一次缓冲区,并转存数据到指定文件。
|
|
|
|
|
|
|
|
|
|
## 语法
|
|
|
|
|
|
2019-07-30 14:03:56 +08:00
|
|
|
|
```blk
|
|
|
|
|
tee (选项) (参数)
|
|
|
|
|
```
|
2019-03-26 09:40:48 +08:00
|
|
|
|
|
|
|
|
|
## 选项
|
|
|
|
|
|
2019-07-30 14:03:56 +08:00
|
|
|
|
```blk
|
|
|
|
|
-a:向文件中重定向时使用追加模式;
|
|
|
|
|
-i:忽略中断(interrupt)信号。
|
|
|
|
|
```
|
2019-03-26 09:40:48 +08:00
|
|
|
|
|
|
|
|
|
## 参数
|
|
|
|
|
|
2019-07-30 14:03:56 +08:00
|
|
|
|
```blk
|
|
|
|
|
文件:指定输出重定向的文件。
|
|
|
|
|
```
|
2019-03-26 09:40:48 +08:00
|
|
|
|
|
|
|
|
|
在终端打印 stdout 同时重定向到文件中:
|
|
|
|
|
|
2020-05-20 16:18:39 +08:00
|
|
|
|
```bash
|
|
|
|
|
$ ls | tee out.txt
|
2019-03-26 09:40:48 +08:00
|
|
|
|
1.sh
|
|
|
|
|
1.txt
|
|
|
|
|
2.txt
|
|
|
|
|
eee.tst
|
|
|
|
|
EEE.tst
|
|
|
|
|
one
|
|
|
|
|
out.txt
|
|
|
|
|
string2
|
|
|
|
|
www.pdf
|
|
|
|
|
WWW.pdf
|
|
|
|
|
WWW.pef
|
|
|
|
|
```
|
|
|
|
|
|
2020-05-20 16:18:39 +08:00
|
|
|
|
```bash
|
|
|
|
|
$ ls | tee out.txt | cat -n
|
2019-03-26 09:40:48 +08:00
|
|
|
|
1.sh
|
|
|
|
|
1.txt
|
|
|
|
|
2.txt
|
|
|
|
|
eee.tst
|
|
|
|
|
EEE.tst
|
|
|
|
|
one
|
|
|
|
|
out.txt
|
|
|
|
|
string2
|
|
|
|
|
www.pdf
|
|
|
|
|
WWW.pdf
|
|
|
|
|
WWW.pef
|
|
|
|
|
```
|
2020-01-07 11:15:44 +08:00
|
|
|
|
|
|
|
|
|
## 将 Shell 全部内容输出到文件
|
|
|
|
|
|
2020-05-20 16:18:39 +08:00
|
|
|
|
```bash
|
2020-01-07 11:15:44 +08:00
|
|
|
|
<cmd> <args> 2>&1 | tee <log file>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 0:标准输入
|
|
|
|
|
* 1:标准输出
|
|
|
|
|
* 2:标准错误信息输出
|
|
|
|
|
* \<:重定向输入
|
|
|
|
|
* \>:将内容全局覆盖式的加入文件,相当于删除该文件并重新建立该文件,再写入的效果
|
|
|
|
|
* \>!:如果存在则覆盖
|
|
|
|
|
* \>&:执行时屏幕上所产生的任何信息写入指定的文件中
|
|
|
|
|
* \>>:追加到文件中
|
|
|
|
|
* \>>&:屏幕上的信息追加到文件中
|