Linux系统中tee命令的具体用法

2016-02-19 20:55 8 1 收藏

下面请跟着图老师小编一起来了解下Linux系统中tee命令的具体用法,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

【 tulaoshi.com - Linux教程 】

Linux下tee命令主要用于将管道导入的数据存成文件,那么tee命令有什么实际应用呢?下面将通过实例来给大家详细介绍下Linux tee命令的用法。

 Linux系统中tee命令的具体用法

tee

功能说明:读取标准输入的数据,并将其内容输出成文件。

语 法:tee [-ai][--help][--version][文件]

补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。我们可利用tee把管道导入的数据存成文件,甚至一次保存数份文件。

参 数:-a 附加到既有文件的后面,而非覆盖它。如果给予tee指令的文件名称已经存在,预设会覆盖该文件的内容。加上此参数后,数据会新增在该文件内容的最后面,而不会删除原先之内容。

-i 忽略中断信号

--help 在线帮助

--version 显示版本信息

范 例:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

列出文本文件slayers.story的内容,同时复制3份副本,文件名称分别为ss-copy1、ss-copy2、ss-copy3:

$ cat slayers.story |tee ss-copy1 ss-copy2 ss-copy3

tee [-ai][--help][--version][文件。。。]

tee以标准输入作为输入,标准输出和文件作为输出。

tee file //覆盖

tee -a file //追加

tee - //输出到标准输出两次

tee - - //输出到标准输出三次

tee file1 file2 - //输出到标准输出两次,并写到那两个文件中

ls | tee file

另:把标准错误也被tee读取

ls * 2》&1 | tee ls.txt

*用tee生成一个文件,包含你敲入的内容:

代码如下:

$tee testfile

这样,会提示要你用标准输入输入内容,然后敲回车会将你输入的内容写入testfile和输出到标准输出,如果用[Ctrl]d结束输入([Ctrl]c也行)。如果原来testfile有内容,将会覆盖。

*把内容追加到文件的末尾行:

代码如下:

$tee -a testfile

结果类似上,不过如果原来testfile有内容则不会覆盖而是追加。

*生成一个文件,敲入的时候,不接受中断信号:

代码如下:

$tee -i testfile

结果同testfile,不过不会接收中断信号,只能用[Ctrl]d结束,而不能用[Ctrl]c了。

*执行ls列出目录文件同时将输出保存到文件test中:

代码如下:

$ls | tee test

这样,会像平时一样执行ls命令并将当前目录的文件名输出到标准输出。另外由于进行了tee命令,所以会生成一个test文件,这个test文件的内容和标准输出的内容一样。

tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。可以用于既想看到标准输出,又想将标准输出保存到文件中的情况。

参数:

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

-i-i或--ignore-interrupts 忽略中断信号。

--help 在线帮助。

--version 显示版本信息。

常用参数

格式:tee

只输出到标准输出,因为没有指定文件嘛。

格式:tee file

输出到标准输出的同时,保存到文件file中。如果文件不存在,则创建;如果已经存在,则覆盖之。(If a file being written to does not already exist, it is created. If a file being written to already exists, the data it previously

contained is overwritten unless the `-a‘ option is used.)

格式:tee -a file

输出到标准输出的同时,追加到文件file中。如果文件不存在,则创建;如果已经存在,就在末尾追加内容,而不是覆盖。

格式:tee -

输出到标准输出两次。(A FILE of `-’ causes `tee‘ to send another copy of input to standard output, but this is typically not that useful as the copies are interleaved.)

格式:tee file1 file2 -

输出到标准输出两次,同时保存到file1和file2中。

使用示例补充:

示例一 tee命令与重定向的对比

[root@web ~]# seq 5 》1.txt

[root@web ~]# cat 1.txt

1

2

3

4

5

[root@web ~]# cat 1.txt 》2.txt

[root@web ~]# cat 1.txt | tee 3.txt

1

2

3

4

5

[root@web ~]# cat 2.txt

1

2

3

4

5

[root@web ~]# cat 3.txt

1

2

3

4

5

[root@web ~]# cat 1.txt 》》2.txt

[root@web ~]# cat 1.txt | tee -a 3.txt

1

2

3

4

5

[root@web ~]# cat 2.txt

1

2

3

4

5

1

2

3

4

5

[root@web ~]# cat 3.txt

1

2

3

4

5

1

2

3

4

5

[root@web ~]#

示例二 使用tee命令重复输出字符串

[root@web ~]# echo 12345 | tee

12345

[root@web ~]# echo 12345 | tee -

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

12345

12345

[root@web ~]# echo 12345 | tee - -

12345

12345

12345

[root@web ~]# echo 12345 | tee - - -

12345

12345

12345

12345

[root@web ~]# echo 12345 | tee - - - -

12345

12345

12345

12345

12345

[root@web ~]#

[root@web ~]# echo -n 12345 | tee

12345[root@web ~]# echo -n 12345 | tee -

1234512345[root@web ~]# echo -n 12345 | tee - -

123451234512345[root@web ~]# echo -n 12345 | tee - - -

12345123451234512345[root@web ~]# echo -n 12345 | tee - - - -

1234512345123451234512345[root@web ~]#

示例三 使用tee命令把标准错误输出也保存到文件

[root@web ~]# ls *

ls: *: 没有那个文件或目录

[root@web ~]# ls * | tee -

ls: *: 没有那个文件或目录

[root@web ~]# ls * | tee ls.txt

ls: *: 没有那个文件或目录

[root@web ~]# cat ls.txt

[root@web ~]# ls * 2》&1 | tee ls.txt

ls: *: 没有那个文件或目录

[root@web ~]# cat ls.txt

ls: *: 没有那个文件或目录

[root@web ~]#

上面就是Linux下tee命令的用法介绍了,通过实例我们将更好的理解该命令的作用,并灵活用于实际当中,你学会了吗?

来源:http://www.tulaoshi.com/n/20160219/1624840.html

延伸阅读
标签: 电脑入门
Linux命令中,chmod命令的用法与chattr命令有些相似,但相对而言chmod命令只是改变文件读写、执行权限,文件权限主要还是通过chattr命令来完成,下面图老师小编就给大家介绍下Linux中chmod命令的用法。 文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限...
标签: 电脑入门
Linux中的less命令主要用来浏览文件内容,与more命令的用法相似,不同于more命令的是,less命令可往回卷动浏览以看过的部分,下面随图老师小编一起来了解下less命令的具体用法吧。 less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按...
Linux系统操作中,Logrotate是一款日志管理工具,可对Linux日志进行处理,在使用前,需要对Logrotate工具进行配置,下面图老师小编就给大家介绍下Linux中Logrotate工具的用法,一起来了解下吧。 1运行原理 Logrotate是基于CRON来运行的,其脚本是/etc/cron.daily/logrotate #!/bin/sh /usr/sbin/logrotate /etc/logrotate.conf EXIT...
标签: windows 操作系统
在一次帮助用户维护网络的时候,偶然发现Windows XP操作系统中的NET系列命令中多了一个Net User命令。经过仔细推敲和演练发现Net User不仅可以用来添加或修改用户或者显示用户信息,还可以对用户设置不同的限制,比控制面板中的“用户账户”的应用效果要好多了,大家不妨试试。 Net User命令是一个DOS命令,必须在Windows XP下的MS-D...
标签: 电脑入门
对于初学者来说,Linux系统命令是主要学习的内容,在Linux众多命令中,有些命令可定时运行,下面图老师小编就给大家详细介绍下Linux中定时运行命令的用法,一起来了解下吧。 1.命令简介 每个用户都有各自不同的计划任务列表,用各自的帐户登录后运行 代码如下: crontab -l 就可查看到各任务的计划任务情况,使用下列命令可以修改自...

经验教程

787

收藏

18
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部