tee
tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。
存在缓存机制,每1024个字节将输出一次。若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定的文件中。若文件内容不到1024个字节,则接收完从标准输入设备读入的数据后,将刷新一次缓冲区,并转存数据到指定文件。
语法
tee(选项)(参数)
选项
-a:向文件中重定向时使用追加模式;
-i:忽略中断(interrupt)信号。
参数
文件:指定输出重定向的文件。
在终端打印stdout同时重定向到文件中:
使用例子:
Q1、 如何在 linux 上使用这个命令?
ping Google.com | tee output.txt
下面的截图展示了这个输出内容不仅被写入 output.txt
文件,也被显示在标准输出中。
tee command 输出
如此应当明白了 tee
的基础用法。
Q2、 如何确保 tee 命令追加信息到文件中?
默认情况下,在同一个文件下再次使用 tee
命令会覆盖之前的信息。如果你想的话,可以通过 -a
命令选项改变默认设置。
[command] | tee -a [file]
基本上,-a
选项强制 tee
命令追加信息到文件。
Q3、 如何让 tee 写入多个文件?
这非常之简单。你仅仅只需要写明文件名即可。
[command] | tee [file1] [file2] [file3]
比如:
ping google.com | tee output1.txt output2.txt output3.txt
如何让 tee 写入多个文件
Q4. 如何让 tee 命令的输出内容直接作为另一个命令的输入内容?
使用 tee
命令,你不仅可以将输出内容写入文件,还可以把输出内容作为另一个命令的输入内容。比如说,下面的命令不仅会将文件名存入 output.txt
文件中,还会通过 wc
命令让你知道输入到 output.txt
中的文件数目。
ls file* | tee output.txt | wc -l
如何让 tee 命令的输出内容直接作为另一个命令的输入内容
Q5. 如何使用 tee 命令提升文件写入权限?
假如你使用 Vim 编辑器 打开文件,并且做了很多更改,然后当你尝试保存修改时,你得到一个报错,让你意识到那是一个 root 所拥有的文件,这意味着你需要使用 sudo
权限保存修改。
如何使用 tee 命令提升文件写入权限
如此情况下,你可以(在 Vim 内)使用 tee
命令来提高权限。
:w !sudo tee %
上述命令会向你索要 root 密码,然后就能让你保存修改了。
Q6. 如何让 tee 命令忽视中断?
-i
命令行选项使 tee
命令忽视通常由 ctrl+c
组合键发起的中断信号(SIGINT
)。
[command] | tee -i [file]
当你想要使用 ctrl+c
中断该命令,同时让 tee
命令优雅的退出,这个选项尤为实用。
相关阅读
NFS 概念 网络文件系统 (NFS) 是 Unix 系统和网络附加存储文件管理器常用的网络文件系统 , 允许多个客户端通过网络共享文件访
转自https://www.cnblogs.com/wangtao1993/p/6144183.html 1、lsof -i:端口号 list open files 用于查看某一端口的占用情况,比如
linux安装微软雅黑等字体 1、检查字体是否已经安装:fc-list ----------检查所有已有的字体
FTP>ascii: 设定以ASCII方式传送文件(缺省值) FTP>bell: 每完成一次文件传送,报警提示. FTP>binary: 设定以二进制方式传送文
原文出处:https://www.sysgeek.cn/apt-vs-apt-get/Ubuntu 16.04 发布时,一个引人注目的新特性便是 apt 命令的引入。其实早在 2014