0%

Linux的 tee 命令

Linux的 tee 命令

Linux的tee命令可以将输出输出到终端的同时写入文件。

这个命令对于既想试试看到输出保存到文件稍后查看的操作十分有用。

官方定义为:

tee - read from standard input and write to standard output and files

语法

具体的使用方法为:

1
$ tee [OPTION]... [FILE]...

参数

  • -a, --append  追加到现有文件的后面,而非覆盖它.
  • -i, --ignore-interrupts  忽略中断信号。

一般使用

比如最简单的想查看一下当前有哪些文件并保存到一个日志,如下:

1
2
3
4
5
6
7
8
$ ls
a.txt b.txt c.txt d.txt e.txt

$ ls | tee list.log
a.txt b.txt c.txt d.txt e.txt

$ cat list.log
a.txt b.txt c.txt d.txt e.txt

可以看到tee在保证同时显示在终端上还输出到了文件 list.log中。

同时保存到多个文件

tee当然也是可以同时输出到多个文件的,比如:

1
2
3
4
5
6
7
8
9
10
$ ls
a.txt b.txt c.txt d.txt e.txt

$ ls | tee list.log listB.log
a.txt b.txt c.txt d.txt e.txt

$ cat list.log
a.txt b.txt c.txt d.txt e.txt
$ cat listB.log
a.txt b.txt c.txt d.txt e.txt

与自己对话

与自己对话如何呢,或者叫做复读机?

tee命令直接跟文件的话,会等待输入,并同步进行输出到终端和文件的操作。

1
2
3
4
5
6
7
8
9
$ tee test.log 
hello
hello
world
world

$ cat test.log
hello
world

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道