有时候,你会想手动跟踪命令的输出内容,同时又想将输出的内容写入文件,确保之后可以用来参考。如果你想寻找这相关的工具,那么恭喜你,Linux 已经有了一个叫做 tee 的命令可以帮助你。

tee 命令基于标准输入读取数据,标准输出或文件写入数据。感受下这个命令的语法:

tee [OPTION]... [FILE]...

这里是帮助文档的说明:

从标准输入中复制到每一个文件,并输出到标准输出。

让 Q&A(问&答)风格的实例给我们带来更多灵感,深入了解这个命令。

Q1、 如何在 Linux 上使用这个命令?

假设因为某些原因,你正在使用 ping 命令。

ping google.com

如何在 Linux 上使用 tee 命令

然后同时,你想要输出的信息也同时能写入文件。这个时候,tee 命令就有其用武之地了。

ping google.com | tee output.txt

下面的截图展示了这个输出内容不仅被写入 output.txt 文件,也被显示在标准输出中。

tee command 输出

如此应当明白了 tee 的基础用法。

Q2、 如何确保 tee 命令追加信息到文件中?

默认情况下,在同一个文件下再次使用 tee 命令会覆盖之前的信息。如果你想的话,可以通过 -a 命令选项改变默认设置。

[command] | tee -a [file]

基本上,-a 选项强制 tee 命令追加信息到文件。

Q3、 如何让 tee 写入多个文件?

这非常之简单。你仅仅只需要写明文件名即可。

[command] | tee [file1] [file2] [file3]

比如:

ping google.com | tee output1.txt output2.txt output3.txt

如何让 tee 写入多个文件

Q4. 如何让 tee 命令的输出内容直接作为另一个命令的输入内容?

使用 tee 命令,你不仅可以将输出内容写入文件,还可以把输出内容作为另一个命令的输入内容。比如说,下面的命令不仅会将文件名存入 output.txt 文件中,还会通过 wc 命令让你知道输入到 output.txt 中的文件数目。

ls file* | tee output.txt | wc -l

如何让 tee 命令的输出内容直接作为另一个命令的输入内容

Q5. 如何使用 tee 命令提升文件写入权限?

假如你使用 Vim 编辑器 打开文件,并且做了很多更改,然后当你尝试保存修改时,你得到一个报错,让你意识到那是一个 root 所拥有的文件,这意味着你需要使用 sudo 权限保存修改。

如何使用 tee 命令提升文件写入权限

如此情况下,你可以(在 Vim 内)使用 tee 命令来提高权限。

:w !sudo tee %

上述命令会向你索要 root 密码,然后就能让你保存修改了。

Q6. 如何让 tee 命令忽视中断?

-i 命令行选项使 tee 命令忽视通常由 ctrl+c 组合键发起的中断信号(SIGINT)。

[command] | tee -i [file]

当你想要使用 ctrl+c 中断该命令,同时让 tee 命令优雅的退出,这个选项尤为实用。

总结

现在你可能已经认同 tee 是一个非常实用的命令。基于 tee 命令的用法,我们已经介绍了其绝大多数的命令行选项。这个工具并没有什么陡峭的学习曲线,所以,只需跟随这几个例子练习,你就可以运用自如了。更多信息,请查看 帮助文档.

linux tee 命令 输出的同时写入文件相关推荐

  1. linux 输出到文件 新,如何在Linux中将命令输出保存到文件

    原标题:如何在Linux中将命令输出保存到文件 在Linux中输出命令可以做很多事情. 您可以将命令的输出分配给变量,将其发送到另一个命令/程序以通过管道进行处理或将其重定向到文件以进行进一步分析. ...

  2. linux命令之tee,技术|为初学者介绍的 Linux tee 命令(6 个例子)

    有时候,你会想手动跟踪命令的输出内容,同时又想将输出的内容写入文件,确保之后可以用来参考.如果你想寻找这相关的工具,那么恭喜你,Linux 已经有了一个叫做 tee 的命令可以帮助你. 本教程中,我们 ...

  3. linux tee命令_Linux tee命令示例

    linux tee命令 In this article, we shall go through the tee command in Linux. This is commonly used to ...

  4. linux权限不够tee,Linux Tee命令

    Linux tee命令 Linux tee命令与'cat'命令非常相似,只有一个区别.它将stdin放在stdout上,并将它们放入文件中.它是通过管道与其他命令一起使用最多的命令之一.它允许我们编写 ...

  5. linux tee错误日志,linux tee命令使用详解教程

    在执行Linux命令时,我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令.接下来是小编为大家收集的linux tee 命令使用详解教程,希望能帮到大家. linux tee ...

  6. Linux rm命令、Linux touch命令、Linux tee命令

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Linux rm命令用于删除一个文件或者目录. 语法 rm [options] name...[op ...

  7. linux命令之tee,linux tee命令

    tee命令读取标准输入并将其写入标准输出和一个或多个文件.该命令以管道中使用的T分隔器命名.它基本上破坏了程序的输出,因此它既可以显示又可以保存在文件中 该tee命令从标准输入读取并同时写入标准输出和 ...

  8. linux+gunzip解压命令,Linux gunzip命令解析 gunzip解压文件的方法

    我们已经讨论过 Linux 下 gzip 命令的用法.对于初学者来说,gzip 工具主要用于压缩或者展开文件.解压时,在 gzip 命令后添加 -d 选项即可,使用示例如下: gzip -d [com ...

  9. linux一,系统分区 Linux的盘符结构 Linux常用命令: 一,目录/文件的处理命令

    文章目录 一,系统分区 Linux的盘符结构 Linux常用命令: 一,目录/文件的处理命令 一,系统分区 概念:在硬盘上产生文件系统的过程 第一步:磁盘分区(创建隔断) 分区规则:主分区最多只能分4 ...

最新文章

  1. 使.NET使用数据库连接池 .
  2. python项目-推荐 10 个有趣的 Python 练手项目
  3. C# 与 LUA 的经验对比
  4. MyBatis的association示例
  5. python将csv一行保存一个txt_Python读写文件(csv、txt、excel)
  6. iOS - EaseMob 环信的使用
  7. session实现机制_如何理解php session运行机制
  8. android动画超出圆角,Android关于Glide的使用(高斯模糊、加载监听、圆角图片)
  9. Windows环境下的NodeJS+NPM+Bower安装配置步骤
  10. centos如何编译安装mysql_CentOS中如何编译安装MySQL数据库教程
  11. chiinv函数java_Excel统计函数:CHIINV函数实例-excel技巧-电脑技巧收藏家
  12. from __future__ import的用法
  13. Activity实现 高亮显示活动节点,和所有已完成过的节点
  14. 容器技术Docker K8s 47 服务网格(ASM)-阿里云服务网络概述
  15. 优惠券如何引流,如何做好优惠券推广,优惠券正确引流方法
  16. 经典算法书籍推荐(亲测有效)
  17. 字节跳动+京东+美团+腾讯面试总结,附赠课程+题库
  18. 申请软件著作权的流程有哪些?让专业人士带你了解
  19. android lcd,国产安卓机:LCD屏幕,正式再见
  20. 【UML 建模】在线UML建模工具 ProcessOn 使用具体解释

热门文章

  1. 用 Flask 来写个轻博客 (36) — 使用 Flask-RESTful 来构建 RESTful API 之五
  2. 异步FIFO芯片IDT7204、IDT7205的使用
  3. 移动通信网络频段大全,含5G、4G,各种公开频段汇总
  4. 从Altium Designer导出PCB的3D模型至Solidworks
  5. USB 2.0 全速 FULL SPEED 和高速 HIGH SPEED 的区别
  6. altium designer 原理图和PCB 多通道设计
  7. NR 5G UE初始接入流程
  8. 力扣(LeetCode)31
  9. C语言处理字符串及内存操作
  10. js获取微信验证实现微信自动跳转 检验code操作