linux双向重定向之tee命令

tee的作用是将一份标准输入多重定向,一份重定向到标准输出/dev/stdout,然后还将标准输入重定向到每个文件FILE中。

在执行Linux命令时,我们可以把输出重定向到文件中,比如 ls >rumenz.txt,这时不能看到输出了,如果我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令了.

tee流程示意图

img

命令语法

> tee [options] FILE1 FILE2 FILE3...

保存当前目录文件列表到文件并打印到屏幕

> ls -al | tee rumenz.txt total 1088 drwxr-xr-x 3 root  root       93 Jun 20 22:57 . drwxr-xr-x 9 root  root     4096 Jul  5 23:09 .. -rw-r--r-- 1 mysql mysql       0 Jun 20 22:57 1.txt -rw-r--r-- 1 mysql mysql       0 Jun 20 22:57 2.txt drwxr-xr-x 3 root  root       17 Jun  8 23:29 rumenz
rumenz.txt里面也有相同的内容

tee 命令追加信息到文件中

默认是覆盖写入,-a是追加写入到目标文件
> ls -al | tee -a rumenz.txt

tee 写入多个文件

> ls -al | tee rumenz.txt rumenz1.txt rumenz2.txt 

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

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

tee 命令提升文件写入权限

很多时候我们使用非root账号修改了一个文件,正要保存的时候,vim抛出以下错误,直接退出的话,就会丢失掉修改
"/etc/nginx/nginx.conf" E212: Can't open file for writing
这个时候我们就可以用tee来提升权限保存文件
:w !sudo tee %
root 密码,然后就能让你保存修改了

总结

tee命令读取标准输入,把这些内容同时输出到标准输出和(多个)文件中,tee命令可以重定向标准输出到多个文件。要注意的是:在使用管道线时,前一个命令的标准错误输出不会被tee读取。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9734

(0)
郭靖的头像郭靖
上一篇 2023年9月20日 下午5:17
下一篇 2023年9月21日 下午5:16

相关推荐

  • 服务器卡死,重启报错: INFO: task blocked for more than 120 seconds

    问题:服务器负载很高,但是CPU利用率不高。服务器经常夯住,网站打不开,SSH连接非常不稳定,输入命令夯住。 重启服务器报错: INFO: task blocked for more than 120 seconds 问题原因:  默认情况下, Linux会最多使用40%的可用内存作为文件系统缓存。当超过这个阈值后,文件系统会把将缓存中的内存全部写…

    2023年3月27日
    1.2K00
  • Rocky9的安装与基本配置

    安装 Rocky Linux 9.0 设置语言为:中文 — 简体中文(中国) 注意: 默认 Rocky Linux 9.0 安全设置禁用了 SSH 使用 root 密码登录了,所以在设置 root 用户密码的时候,记得勾选[允许 root 用户使用密码进行 SSH 登录] 开始安装 安装完成,点击[重启系统] 内核升级到了5.14 登录成功 防火墙配置 SE…

    2023年4月7日
    2.1K00
  • HTTPS 下使用WebSocket的一些实践

    问题描述: HTTPS 下发起WS连接,连接失败,Chrom 浏览器报错。 socket.js:19 Mixed Content: The page at ‘https://app.XXX.com’ was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoi…

    2023年1月20日
    1.1K00
  • IPMItool 控制风扇转速

    近期由于需要测试dell服务器,风扇声音非常的大,通过IPMI页面发现不能设置风扇的转速,所以使用通过IPMItool工具来进行控制 首先进入服务器,安装IPMItool工具 apt install ipmitool 验证是否能够使用 如果不在本机服务器上操作,需要从其他机器上操作,需要勾选IPMI设置,允许通过lan进行操作 获取风扇的速度 首先你要输入下…

    2024年4月12日
    1.5K00
  • Nginx与安全有关的几个配置

    隐藏版本号 经常会有针对某个版本的nginx安全漏洞出现,隐藏nginx版本号就成了主要的安全优化手段之一,当然最重要的是及时升级修复漏洞 开启HTTPS ssl on: 开启https ssl_certificate: 配置nginx ssl证书的路径 ssl_certificate_key: 配置nginx ssl证书key…

    2023年1月16日
    96500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信