tee的作用是将一份规范输出多重定向,一份重定向到规范输入/dev/stdout,而后还将规范输出重定向到每个文件FILE中。

在执行Linux命令时,咱们能够把输入重定向到文件中,比方 ls >rumenz.txt,这时不能看到输入了,如果咱们既想把输入保留到文件中,又想在屏幕上看到输入内容,就能够应用tee命令了.

tee流程示意图

命令语法

> tee [options] FILE1 FILE2 FILE3...

保留当前目录文件列表到文件并打印到屏幕

> ls -al | tee rumenz.txttotal 1088drwxr-xr-x 3 root  root       93 Jun 20 22:57 .drwxr-xr-x 9 root  root     4096 Jul  5 23:09 ..-rw-r--r-- 1 mysql mysql       0 Jun 20 22:57 1.txt-rw-r--r-- 1 mysql mysql       0 Jun 20 22:57 2.txtdrwxr-xr-x 3 root  root       17 Jun  8 23:29 rumenz
rumenz.txt外面也有雷同的内容

tee 命令追加信息到文件中

默认是笼罩写入,-a是追加写入到指标文件
> ls -al | tee -a rumenz.txt

tee 写入多个文件

> ls -al | tee rumenz.txt rumenz1.txt rumenz2.txt 

让 tee 命令的输入内容间接作为另一个命令的输出内容

tee 命令,你不仅能够将输入内容写入文件,还能够把输入内容作为另一个命令的输出内容。比如说,上面的命令不仅会将文件名存入 rumenz.txt 文件中,还会通过 wc 命令让你晓得输出到 rumenz.txt中的文件数目
> ls file* | tee rumenz.txt | wc -l

tee 命令晋升文件写入权限

很多时候咱们应用非root账号批改了一个文件,正要保留的时候,vim抛出以下谬误,间接退出的话,就会失落掉批改
"/etc/nginx/nginx.conf" E212: Can't open file for writing
这个时候咱们就能够用tee来晋升权限保留文件
:w !sudo tee %
root 明码,而后就能让你保留批改了

总结

tee命令读取规范输出,把这些内容同时输入到规范输入和(多个)文件中,tee命令能够重定向规范输入到多个文件。要留神的是:在应用管道线时,前一个命令的规范谬误输入不会被tee读取。

原文链接:https://rumenz.com/rumenbiji/...
微信公众号:入门小站