Linux 每日一题 20190612: tee

昨天建了一个 QQ 群,号称“Linux 高级群” 群号 816821779
今早心血来潮,开始给群友们普及 Linux 知识,早上泡茶,想到了 tee 这个命令。

其实 不需要百度/Google, Linux 知识里,最好的就是 man。
man tee 告诉我们运行 info coreutils ‘tee invocation’
于是我们可以看到其中的例子:

wget -O - http://example.com/dvd.iso \
   | tee >(sha1sum > dvd.sha1) > dvd.iso

上面其实就是把网站上的 dvd 片子发送到 STDOUT,同时计算 sha1sum 值,又把整个 iso 文件写到本地

再来看另外一个目录压缩为两种不同 压缩格式文件的方式. 传统的一个目录备份, 要分别压缩成 .tar.gz 和 .tar.bz2 的话, 要做两次 tar chof :
tar chof – “$tardir” | gzip -9 -c > pkg.file.tar.gz
tar chof – “$tardir” |bzip2 -9 -c > pkg.file.tar.bz2
用 tee 命令,一次解决:
tar chof – “$tardir” | tee > (gzip -9 -c > pkg.tar.gz) \
|bzip2 -9 -c > pkg.tar.bz2

扩展知识:在 MySQL/Oracle 等 SQL 命令行工具下, 我们也会用到把命令窗口的内容发送到操作系统文件的做法。以 MySQL 为例, 就是 \T, 或者直接 tee
停止发送 用 \t 关闭

验证命令输出已经写到指定的文件:

加群 二维码:

作者: 甬洁网络

--移动互联网&物联网技术提供商