tee 命令
tee 命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的 stdin。简单的说就是把数据重定向到给定文件和屏幕上。
存在缓存机制,每 1024 个字节将输出一次。若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定的文件中。若文件内容不到 1024 个字节,则接收完从标准输入设备读入的数据后,将刷新一次缓冲区,并转存数据到指定文件。
语法
tee(选项)(参数)
-a:向文件中重定向时使用追加模式;
-i:忽略中断(interrupt)信号。
ls | tee out.txt
1.sh
1.txt
2.txt
ls | tee out.txt | cat -n
ping qiita.com | tee 1.txt 2.txt 3.txt
使用 tee 命令提升文件写入权限
假如你使用 Vim 编辑器 打开文件,并且做了很多更改,然后当你尝试保存修改时,你得到一个报错,让你意识到那是一个 root 所拥有的文件,这意味着你需要使用 sudo 权限保存修改。
如此情况下,你可以(在 Vim 内)使用 tee 命令来提高权限,这个命令会向你索要 root 密码,然后就能让你保存修改了。
:w !sudo tee %
参考:
↧