双向重导向: tee
想个简单的东西,我们由前一节知道 > 会将资料流整个传送给档案或装置, 因此我们除非去读取该档案或装置,否则就无法继续利用这个资料流。 万一我想要将这个资料流的处理过程中,将某段讯息存下来,应该怎么做?呵呵! 利用 tee 就可以啰~我们可以这样简单的看一下:
图五、tee 的工作流程
同时将资料流分送到档案去与萤幕 (screen);而输出到萤幕的,其实就是 stdout ,可以让下个指令继续处理喔!
[root@linux ~]# tee [-a] file
参数:
-a :以累加 (append) 的方式,将资料加入 file 当中!
范例:
[root@linux ~]# last | tee last.list | cut -d " " -f1
# 这个范例可以让我们将 last 的输出存一份到 last.list 档案中;
[root@linux ~]# ls -l /home | tee ~/homefile | more
# 这个范例则是将 ls 的资料存一份到 ~/homefile ,同时萤幕也有输出讯息!
[root@linux ~]# ls -l / | tee -a ~/homefile | more
# 要注意: tee 后接的档案会被覆盖,所以,我们要加上 -a 这个参数才能将讯息累加。
有没有发现在命令重导向的时候,如果我们要将资料送出到档案的时候, 萤幕上就不会出现任何的资料!那么如果我们需要将资料同时显示在萤幕上跟档案中呢?呵呵!这个时候就需要 tee 这个指令啰!使用 last 可以查看到这个月份的登入资料,而使用了 tee 之后,会将资料同时传给下一个命令去执行,也会将资料写入 last.list 这个档案中!也是个好帮手!
阅读(1628) | 评论(0) | 转发(0) |