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

相关推荐

  • 麒麟系统/boot下文件全部丢失,系统无法启动

    系统异常断电,重启时发现的问题 1,无法找到系统启动的引导文件 2,通过ls (hd0,gpt1)/ 查询到引导文件所在位置 挂载系统镜像,进入系统救援模式 首先进入的是挂载镜像的根目录,不需要密码,回车可进入 输入exit 根据提示填写1,进入读写模式 重新生成系统内核 1,进入本机系统文件系统,chroot /mnt/sysroot,查看/boot下内容…

    2024年7月5日
    1.8K00
  • docker image tag为什么出现none

    背景 公司项目是基于容器化架构设计,具体业务也拆成了多个微服务及对应了多个docker image镜像。研发环境中会频繁进行升级image镜像,导致出现很多image为 <none> 命名的镜像,这种也称为悬空镜像。 本篇文章将展示几种现象会导致这种情况发生。下文演示环境,版本信息如下: 现象一 前提条件:在同环境中两个镜像名称:tag都相同,imag…

    2023年10月20日
    77300
  • 800 多个 Kubectl 常用命令,再也不怕不会用 Kubernetes!

    这个存储库包含脚本 gener_ aliases.py 可以生成数百个方便的 kubectl shell 别名,您不再需要拼写出每个命令和–flag 参数。 通过命令/标志排列创建的 shell 别名示例如下: 示例 800 个别名,下面列出一部分: 访问下面地址,查看所有别名: 安装 您可以直接下载 bash/zsh 的文件…

    2023年7月26日
    78600
  • HBase 高可用集群详细图文安装部署

    一、HBase 安装部署 1.1 Zookeeper 正常部署 首先保证 Zookeeper 集群的正常部署,并启动之。 1.2 Hadoop 正常部署  Hadoop 集群的正常部署并启动。 1.3 HBase 安装  HBase 官方下载地址:Apache Download Mirrors 1.4 HBase 的配置文件  1.4.1 hbas…

    2023年12月15日
    72800
  • 在Proxmox VE下开启vGPU – Tesla P4为例

    对于 Proxmox VE 8,需要使用16.0+版本的 vGPU 驱动程序,低版本的驱动程序不支持 Linux 6.x 内核 最近我刚升级了我的 NAS 主机,并且购买了一块 Tesla P4 显卡。我想把 vGPU 分配给虚拟机上的 Jellyfin 容器硬解使用,经过几天的研究,我简单总结了使用方法。关于如何使用硬解,我会在下一篇文章中进行说明。 术语…

    2024年2月19日
    1.2K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信