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

73 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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