73 lines
1.5 KiB
Markdown
73 lines
1.5 KiB
Markdown
# 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:标准错误信息输出
|
||
* \<:重定向输入
|
||
* \>:将内容全局覆盖式的加入文件,相当于删除该文件并重新建立该文件,再写入的效果
|
||
* \>!:如果存在则覆盖
|
||
* \>&:执行时屏幕上所产生的任何信息写入指定的文件中
|
||
* \>>:追加到文件中
|
||
* \>>&:屏幕上的信息追加到文件中
|