Linux tee 命令

tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。

语法

tee (选项) (参数)

 

选项

-a:向文件中重定向时使用追加模式;
-i:忽略中断(interrupt)信号。

 

参数

文件:指定输出重定向的文件。

 

案例:

1.将输出写入到文件中:

如下所示将“ping google.com”输出内容写入 output.txt 文件,并显示在标准输出中,感觉用来跟踪指令输出非常有用

ping google.com | tee output.txt

2.追加信息到文件中

[command] | tee -a [file]

3.写入多个文件

[command] | tee [file1] [file2] [file3]

 案例:

ping baidu.com | tee output1.txt output2.txt output3.txt

4.输出内容直接作为另一个命令的输入内容

你不仅可以将输出内容写入文件,还可以把输出内容作为另一个命令的输入内容。比如说,下面的命令不仅会将文件名存入 output.txt 文件中,还会通过 wc 命令让你知道输入到 output.txt 中的文件数目。

ls file* | tee output.txt | wc -l

5.提升文件写入权限

假如你使用 vim打开文件,并且做了很多更改,然后当你尝试保存修改时,你得到一个报错,让你意识到那是一个 root 所拥有的文件,这意味着你需要使用 sudo 权限保存修改。如此情况下,你可以(在 Vim 内)使用 tee 命令来提高权限。

:w !sudo tee %

6.让 tee 命令忽视中断

[command] | tee -i [file]

  

posted @ 2020-06-08 09:02  Merray  Views(389)  Comments(0Edit  收藏  举报