Tee命令是一个命令行工具,它从标准输入读取数据并将结果打印到文件,同时标准输出到屏幕。tee命令语法tee选项文件名示例1:基本模式tee命令的主要功能是显示命令的输出并将其保存到文件中。在下面的示例中,我们检查系统中的块设备并将结果发送到tee命令,该命令将输出显示到终端,同时将其保存在文件devices.txt中:[root@localhost~]#lsblk|teedevices.txt可以使用cat命令查看devices.txt文件的内容,如下:[root@localhost~]#catdevices.txt示例2:命令输出写入多个文件此外,输出该命令可以写入多个文件,以空格分隔。如下:[root@localhost~]#hostnamectl|teefile1.txtfile2.txt我们调用了hostnamectl命令来打印主机名和系统的其他详细信息,并将标准输出保存为两个文件file1.txt和file2.txt使用cat命令查看file1.txt和file2。txt:示例3:静默输出到文件如果您想隐藏或禁止tee命令在屏幕上打印输出,则将输出重定向到/dev/null,如下所示:[root@localhost~]#df-Th|teefile4.txt>/dev/null示例4:将输出添加到文件默认情况下,tee命令会覆盖文件的内容。要附加输出并防止擦除当前内容,请使用-a或--append选项。[root@localhost~]#lsblk|teefile1.txt[root@localhost~]#日期|tee-afile1.txt[root@localhost~]#catfile1.txt在上面的命令中,第一条命令的内容会被输出到file1.txt,第二条命令tee命令加上-a选项,可以追加content到file1.txt,第三条命令用cat查看file1.txt,发现上面两条命令输出的内容都被保存了。示例5:tee命令与sudo一起使用。假设只能使用一个sudo用户,而你想用root用户权限写文件。任何提升操作都需要在命令之前调用sudo用户。为此,只需在tee命令前加上sudo,如下所示:[bob@localhost~]$echo"10.200.50.20db-01"|sudotee-a/etc/hosts/将一个命令的输出重定向到另一个命令使用tee命令,我们可以将一个命令的输出重定向到另一个命令。在这里,第一个命令的输出将用作第二个命令的输入。例子如下:[root@localhost~]#grep'root'/etc/passwd|开球/tmp/passwd.tmp|wc-l2[root@localhost~]#cat/tmp/passwd.tmproot0:0:root:/root:/bin/bashoperator11:0:operator:/root:/sbin/nologin[root@localhost~]#示例7:在vim编辑器中使用tee假设你是非root用户,正在修改root用户自己的文件忘记用sudo权限打开,现在想保存修改,例子如下:[bob@localhost~]$vim/etc/hosts现在要在vim编辑器中保存对/etc/hosts文件的修改,运行::w!sudotee%以上提示输入用户密码,即可保存成功输入完成后。总结Tee命令是一个命令行工具,它从标准输入中读取数据,同时将结果打印到文件和标准输出到屏幕。
