美文网首页
Linux tee 命令

Linux tee 命令

作者: 追风骚年 | 来源:发表于2022-04-18 14:26 被阅读0次

我们一定有着这样的烦恼,使用 Linux 中的命令写入文件的时候,控制台是不显示写入的内容,往控制台写入内容的时候又无法往文件中写入。如果我想一边写入文件一遍还要在控制台显示对于单向的管道来说是做不到的。

$ echo "secret"
secret

$ echo "secret" > secret.txt

这时候 tee 就应运而生,它接受一个标准输入,可以将内容输出到标准输出和多个文件。

$ echo "secret" | tee secret.txt
secret

$ cat secret.txt
secret

或者多个文件

$ echo "secret" | tee secret1.txt secret2.txt
secret

$ cat secret1.txt
secret

$ cat secret2.txt
secret

更为常见的一个场景是当前文件没有权限写入

$ touch secret3.txt

$ chmod 447 secret3.txt // 模拟当前用户没有写入权限

$ sudo echo "secret" > secret3.txt
zsh: permission denied: secret3.txt  // echo 是 sudo,但是重定向不是,所以是无法写入的

$ echo "secret" | sudo tee secret3.txt
secret

$ cat secret3.txt // success
secret

再看一个 vim 的场景

你肯定不想编辑了半天的文件写入不了,需要重新来过

$ vi secret3.txt 
// 修改一些内容

$ :wq  
E45: 'readonly' option is set (add ! to override)

$ :w !sudo tee % // success,% 为一个变量,内容为当前文件名

相关文章

  • Linux命令之文件管理 (三十八)

    Linux tee命令 Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。 tee指令会从标准输...

  • Linux tee命令

    Linux tee命令 Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。 tee指令会从标准输...

  • linux 终端打印内容输出到文件

    方法:利用tee命令可将linux终端的打印内容输出到文件 示例:ifconfig | tee ifconfig....

  • linux命令 tee

    tee 从标准输入读取数据并重定向到标准输出和文件在输出到控制台的同时输入到文件 选项 例子? 注意 存在缓存机制...

  • Linux tee 命令

    我们一定有着这样的烦恼,使用 Linux 中的命令写入文件的时候,控制台是不显示写入的内容,往控制台写入内容的时候...

  • Linux 命令之 tee

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

  • Linux的tee命令

    文章作者:Tyan博客:noahsnail.com | CSDN | 简书 Linux的tee命令可以将输出同时发...

  • Linux命令之tee

    tee 该命令从标准输入读取数据然后写入到标准输出和文件中。 wpa_passphrase "testing" |...

  • Linux的tee命令

    用于读取标准输入的数据,并将其内容输出成文件。语法: 参数: -a或--append 附加到既有文件的后面,而非覆...

  • tee命令

    Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。tee指令会从标准输入设备读取数据,将其内容输...

网友评论

      本文标题:Linux tee 命令

      本文链接:https://www.haomeiwen.com/subject/rrsdertx.html