tee命令从规范输入加载主要内容并写入规范输出与一个或多个文件。tee命令常与管道及其他命令结合使用。
在教学中,我们在这里说明如何使用tee命令和常见的选项。这其中包括运用tee写入好多个文件,增至文件,忽视中断,隐藏tee命令智能终端规范输出,tee与sudo组合使用。
在讨论如何使用tee命令之前,让我们先回顾一下基本语法,那也是tee命令的最重要语法形式tee [OPTIONS] [FILE]
。
FILE
可以是一个或多个文件,OPTIONS
是tee的选项,下列属于一些常见的选项。
-a
/--append
说明提升在指定文件,如果你不想文件具体内容被遮住挑选这一选项。在没有该选项时,tee命令很有可能遮住文件已存在具体内容。
-i
/--ignore-interrupts
说明忽视中断信号,也就是说会忽视ctrl c
。--help
说明查看所有可用的选项。
写入文件
tee命令的一个重要操作方法就是将另一个命令的要求输出写入到文件。除了写入独立文件之外tee还能够写入好多个文件。
如果你务必写入到好多个文件,只需在tee命令之后特殊好多个文件名并且用空格符分隔的文件名。
假如你不愿意tee
命令写入到规范输出,一般是终端的说明输出,您只需将它跳转空机械设备/dev/null
。
echo "myfreax" | tee file1 file2 #写入到好多个文件中
command | tee -a file.out #提升信息内容到文件
command | tee -i file.out #忽视中断命令
command | tee file.out >/dev/null #隐藏tee的要求输出
tee与sudo自动跳转
假如你尝试将sudo命令的输出跳转客户没有写管理权限文件,通常会收到管理员权限抵触的不当信息内容permission denied
。
例如命令sudo echo "test" > /root/file.txt
运用echo和重定向操作符>
,将规范输出跳转/root/file.txt
文件。
我们将收到有误信息内容bash: /root/file.txt: Permission denied。
怎么会那般,主要是因为规范输出的自动跳转>
应以您登录的消费者并非sudo特定顾客运行。自动跳转在开启sudo
命令之前造成。
一种解决方案采用的是sudo sh -c
以root客户创建子shell全过程运行命令。另一种解决才是把一般客户的规范输出通过管道传递给到tee
命令。
sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permission denied
echo "newline" | sudo tee -a /etc/file.conf
结论
至今为止,您应该更好的了解如何使用tee命令。如果您有任何问题或意见和建议。
