0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Linux tee命令

CHANBAEK 来源:myfreax 作者:myfreax 2023-01-17 17:52 次阅读

tee命令从标准输入读取内容并同时写入标准输出与一个或多个文件。 tee命令常与管道以及其他命令结合使用。

在本教程中,我们将说明如何使用tee命令和常见的选项。 这其中包括使用tee写入多个文件,追加到文件,忽略中断,隐藏tee命令终端标准输出,tee与sudo组合使用。

在讨论如何使用tee命令之前,让我们先回顾一下基本语法,这是tee命令的基本语法形式tee [OPTIONS] [FILE]

FILE可以是一个或多个文件,OPTIONS是tee的选项,以下是一些常用的选项。

-a/--append表示追加到指定的文件,如果你不想文件的内容被覆盖请使用这个选项。 在没有该选项时,tee命令将会覆盖文件已存在的内容。

-i/--ignore-interrupts表示忽略中断信号,也就是说会忽略ctrl+c--help表示查看所有可用的选项。

写入文件

tee命令的最基本用法是将另一个命令的标准输出写入到文件。 除了写入单个文件之外tee也可以写入多个文件。

如你需要写入到多个文件,只需在tee命令之后指定多个文件名并使用空格分隔的文件名。

如果您不想tee命令写入到标准输出,通常是终端的显示输出,您只需将其重定向到空设备/dev/null

echo "myfreax" | tee file1 file2 #写入到多个文件中

command | tee -a file.out #追加内容到文件

command | tee -i file.out #忽略中断命令

command | tee file.out >/dev/null #隐藏tee的标准输出

tee与sudo重定向

如果您尝试将sudo命令的输出重定向到用户没有写权限的文件,则会收到权限拒绝的错误消息permission denied

例如命令sudo echo "test" > /root/file.txt使用echo和重定向操作符> ,将标准输出重定向到/root/file.txt文件。

你将会收到错误消息bash: /root/file.txt: Permission denied。

之所以会这样,是因为标准输出的重定向>是以您登录的用户而不是sudo指定的用户运行。 重定向在调用sudo命令之前发生。

一种解决方案是使用sudo sh -c以root用户创建子shell进程运行命令。 另一种解决方是将普通用户的标准输出通过管道传递给到tee命令。

sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permission denied
echo "newline" | sudo tee -a /etc/file.conf

结论

到目前为止,您应该很好地理解如何使用tee命令。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10988

    浏览量

    206724
  • 文件
    +关注

    关注

    1

    文章

    540

    浏览量

    24400
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21848
  • TEE
    TEE
    +关注

    关注

    0

    文章

    28

    浏览量

    10146
收藏 人收藏

    评论

    相关推荐

    Linux教程:Linux Tee命令真实示例详细指南

    使用 Linux 终端时,您可能需要执行命令将一些数据写入文件并进一步处理其输出。命令是一个可以帮助您实现这一目标的强大实用程序tee。 这篇文章将为您提供有关
    发表于 10-31 10:02 441次阅读

    Linux基本命令总结

    都说Linux命令多,实际工作中我们又有多少命令会接触用到呢?本文跟大家分享Linux运维工作中常用的600个命令,可以说这些
    的头像 发表于 01-11 10:32 576次阅读

    Linux目录的创建与删除命令

    Linux目录的创建与删除命令 Linux目录的创建与删除命令  mkdir命令  功能:创建一个目录(类似DOS下的md
    发表于 01-18 12:46 1251次阅读

    Linux与用户有关的命令

    Linux与用户有关的命令 Linux与用户有关的命令  passwd命令  出于系统安全考虑,Lin
    发表于 01-18 12:46 704次阅读

    Linux的常用网络命令

    Linux的常用网络命令 Linux 的常用网络命令  计算机网络的主要优点是能够实现资源和信息的共享,并且用户可以远程访问信息。Linux
    发表于 01-18 12:47 1118次阅读

    Linux关机命令详解

    Linux关机命令详解 在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都 可以达到重启系统的目的,但每个
    发表于 01-18 12:52 3511次阅读

    Linux系统命令指南

    在“Linux 文件命令精通指南”中,我们讨论了利用最基础和最常用 Linux 文件命令所需的基本信息。在本文中,我将对 Linux 系统
    发表于 05-23 10:23 881次阅读

    Linux命令大全

    Linux命令大全
    发表于 10-30 09:49 8次下载
    <b class='flag-5'>Linux</b>的<b class='flag-5'>命令</b>大全

    linux有哪些常用的命令

     Linux命令非常之多,分为内部命令和外部命令
    发表于 02-27 08:00 4次下载
    <b class='flag-5'>linux</b>有哪些常用的<b class='flag-5'>命令</b>

    linux的scp命令怎么用_linux的grep命令用法

    linux中,scp命令用于Linux之间复制文件和目录,即在一台Linux服务器中将本地的文件上传到一台远端服务器,或将远端服务器的文件下载到本地。scp是
    发表于 09-04 15:36 4091次阅读
    <b class='flag-5'>linux</b>的scp<b class='flag-5'>命令</b>怎么用_<b class='flag-5'>linux</b>的grep<b class='flag-5'>命令</b>用法

    6个有趣的Linux命令案例讲解

    6个有趣的Linux命令案例讲解
    发表于 08-11 17:49 12次下载

    常用Linux命令介绍

    linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,
    的头像 发表于 02-09 14:31 833次阅读

    浅析Linux精致的命令

    这只是一小部分常用的Linux命令Linux有很多命令可以使用。建议通过man命令来查看命令
    的头像 发表于 04-24 16:28 1330次阅读

    常用Linux命令要记牢!

    linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,
    的头像 发表于 08-07 15:31 444次阅读

    shell命令linux命令一样吗

    Shell命令Linux命令并不完全一样。 首先,Shell是一种命令行解释器,它是用来解释和执行用户输入的命令的。Shell既是一种
    的头像 发表于 11-08 10:51 1365次阅读