学习啦 > 学习电脑 > 操作系统 > Linux教程 >

linux tee 命令使用教程介绍

时间: 加城1195 分享

  Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。在执行Linux命令时,我们既想把输出保存到文件中,又想在屏幕上看到输出内容,那么可以用到tee命令,具体情况一起看看!

  tee具体介绍

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

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

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

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

  -i 忽略中断信号

  --help 在线帮助

  --version 显示版本信息

  范   例:

  列出文本文件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

  [root@web ~]# cat 2.txt

  [root@web ~]# cat 3.txt

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

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

  [root@web ~]# cat 2.txt

  [root@web ~]# cat 3.txt

  [root@web ~]#

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

  [root@web ~]# echo 12345 | tee

  12345

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

  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基本命令

  1.ls命令:

  格式::ls [选项] [目录或文件]

  功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。

  常用选项:

  -a :列出目录下的所有文件,包括以 . 开头的隐含文件。

  -d :将目录像文件一样显示,而不是显示其他文件。

  -i :输出文件的i节点的索引信息。

  -k :以k字节的形式表示文件的大小。

  -l :列出文件的详细信息。

  -n :用数字的UID,GID代替名称。

  -F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。

  2.cd命令

  格式:cd [目录名称]

  常用选项:

  cd .. 返回上一级目录。

  cd ../.. 将当前目录向上移动两级。

  cd - 返回最近访问目录。

  3.pwd命令

  格式: pwd

  功能:显示出当前工作目录的绝对路径。

  相关阅读:Linux主要特性

  完全兼容POSIX1.0标准

  这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

  多用户、多任务

  Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

  良好的界面

  Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

  支持多种平台

  Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。


linux tee 命令使用相关文章:

1.linux tee 命令使用详解教程

2.linux常用命令面试题

3.Linux系统中tee命令怎么用

4.linux系统设置命令别名的方法

5.linux tee命令使用详解教程

4018985