NotePublic/Software/Applications/Tee/Tee_命令的使用.md

73 lines
1.5 KiB
Markdown
Raw Normal View History

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