Linux里面tee作用是什么,使用场景是什么?

Linux里面tee作用是什么,使用场景是什么?,第1张

题主你好,

tee最常用法说白了就是将命令的输出内容输出到终端的同时,还可以将其写入文件.

*.再换句话说就是,我们想要将命令的结果a.打印到终端上让我们看到的同时,还想要将这部分内容b.存到文件中,如果有这个需求,可以使用tee命令.

-----

通常的用法:

命令1 | tee filename   //将命令1的结果会被打印到终端的同时,还会在filename中存一份

*.上面用法中,加粗的| tee表示是固定不变的,剩下的命令1和filename是可变的

-----

举个最简单的例子,我们的需求: 将"你好,朋友"打印到终端,并且将其另存到文件friend中.

echo "你好,朋友"

如果光是这样写,则只是将"你好,朋友"输出到了终端上,并没有另存的意思,所以我们引入tee:

echo "你好,朋友" | tee friend

也就是说echo命令把结果,"你好,朋友",传给了命令tee, 而tee做的就是把echo命令传过来的结果给复制一份,一份输出到终端,一份保存到文件friend中.

-----

再啰嗦一句,上面这条命令的处理流程:

echo "你好,朋友" | tee friend-->先将echo命令的结果, "你好,朋友" ,通过管道 ,|, 送给tee命令, tee命令将echo命令传过来的结果, "你好,朋友" ,又复制了一份,此时共有两份了,将其中一份显示到终端上另一份保存到文件friend中.

-----

测试截图:

第一条命令: 可以看出我当前目录下没有任何文件

第二条命令: 当该命令执行完,我们看到 "你好,朋友" 被输出到了终端上

第三条命令: 同时,我们可以看到还在终端下得到了一个名为friend的文件,内容同终端上输出的相同.

注意事项: 此时tee将结果写到friend文件中用的是 覆盖,而非追加, 也就是说我们多次执行这条命令后,friend这个文件中只存在一行 "你好,朋友", 如果我们想要将结果追加到文件friend中,则要给tee加个-a参数,即命令为:

echo "你好,朋友" | tee -a friend

看测试截图:

该截图做了个对比:

上面的就是没有加-a参数的,可以看到命令两次执行完后,friend文件中就只有一行"你好,朋友" 

中间我们使用了rm friend将friend文件删掉了,防止产生干扰

下面两句加了-a参数,可以看到命令两次执行后,friend文件中有两行"你好,朋友". 

写在最后: 上面只是描述了tee的常规用法,描述有不到位的地方.对于使用场景现在只能是抽象的说:你一边想要在终端上看到命令产生的结果,又想将该结果保存到文件中供后面查看.

另外, 上面只是tee命令比较常见的用法,并不是其全部的功能.

=====

希望可以帮到题主, 欢迎追问.

tee命令是linux下的一个文件管理命令,tee命令主要有一个功能,具体介绍如下:

tee命令可以从标准输入设备读取数据,将其内容输出到标准输出设备,同时还能保存成文件。

参考范例:

如果使用指令”tee”将用户输入的数据同时保存到文件”file1″和”file2″中,具体命令为:

[root@linuxcool~]#teefile1file2

tee命令的具体语法格式为tee[参数][文件]。

参数:

-a附加到既有文件的后面,而非覆盖它

-i忽略中断信号

—help查看帮助信息

—version显示版本信息


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8963808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存