Linux 输出输入重定向、tee命令详解

目录

一、输出重定向

方式一:直接重定向到文件

[方法 二:追加到文件(不覆盖原有内容)](#方法 二:追加到文件(不覆盖原有内容))

方式三:管道|

二、输入重定向

1、基本输入重定向<

[2、<< 将多行文本作为输入,直到遇到指定的结束标记(如 EOF):](#2、<< 将多行文本作为输入,直到遇到指定的结束标记(如 EOF):)

[3、<<< 将单个字符串作为输入](#3、<<< 将单个字符串作为输入)

三、tee命令详解

基本语法:

常见OPTIONS:

常见功能:

1.同时输出到屏幕和文件

2.追加文件(不覆盖)

3.写入多个文件

4.忽略中断信号(-i)


一、输出重定向

是一种将命令的输出发送到文件或其他位置;

以errno命令为例,如何把errno -l查看的内容保存到文件里:

方式一:直接重定向到文件

bash 复制代码
errno -l > errno.txt

╰(*´︶`*)╯说明:> 会覆盖errno.txt的内容,如果errno.txt原本不存在,会自动创建在当前目录下,不用提前创建

方法 二:追加到文件(不覆盖原有内容)

bash 复制代码
errno -l >> errno.txt

╰(*´︶`*)╯说明:>> 会将输出追加到文件末尾,而不会覆盖原有内容。

方式三:管道|

将前一个命令的输出作为后一个命令的输入;

实例: 同时输入到屏幕和文件

bash 复制代码
errno -l | tee errno.txt

**╰(*´︶`*)╯:**加-a可追加内容:

bash 复制代码
errno -l | tee -a errno.txt

二、输入重定向

允许将文件 或其他来源的数据作为命令的输入

1、基本输入重定向<

将文件内容作为命令的输入

bash 复制代码
command < file.txt
#command指命令

示例:

2、<< 将多行文本作为输入,直到遇到指定的结束标记(如 EOF):

3、 <<< 将单个字符串作为输入

示例:

三、tee命令详解

tee 是 Linux 中一个强大的分流命令 ,用于同时将数据输出到屏幕(标准输出)和文件

基本语法:

bash 复制代码
command | tee [OPTIONS] FILE1 FILE2 ... 

**╰(*´︶`*)╯:**file1 file2......数据将被写入的文件,可指定多个

常见OPTIONS:

|----|-----------------|
| -a | 追加到文件(默认是覆盖) |
| -i | 忽略终端信号(如Ctrl+C) |
| -p | 诊断非管道输入的错误 |

常见功能:

1.同时输出到屏幕和文件

2.追加文件(不覆盖)

1/2的例子,前文已示例过了,这里不再复述

3.写入多个文件

示例:

cpp 复制代码
dmesg | tee log1.txt log2.txt /dev/null
#输出的同时写入log1.txt、log2.txt、/dev/null
#/dev/null相当于一个黑洞

两个文件的MD5一致,说明写入的内容是一样的

因为tee默认会输出到屏幕,所以想要只保存文件但不输出屏幕可以这样

4.忽略中断信号(-i)

即使命令被中断后,已捕获的数据仍会保存

相关推荐
猫猫的小茶馆5 分钟前
【STM32】FreeRTOS 消息队列(五)
linux·stm32·单片机·嵌入式硬件·51单片机·智能硬件·pcb工艺
老实巴交的麻匪6 分钟前
Logs 可观测性 | Grafana Loki 架构窥探与实践
运维·云原生·容器
coder_lorraine8 分钟前
【Linux系列】Linux文件类型大揭秘:不只是文件与文件夹的奇幻世界!
linux
MarkGosling20 分钟前
【开源项目】轻量加速利器 HubProxy 自建 Docker、GitHub 下载加速服务
运维·git·docker·容器·开源·github·个人开发
qq_3129201126 分钟前
MySQL在Linux环境下的性能调优
linux·mysql·adb
java叶新东老师41 分钟前
Linux /proc/目录详解
linux·运维·服务器
都给我1 小时前
服务器中涉及节流(Throttle)的硬件组件及其应用注意事项
服务器·网络·express
long_mingyue2 小时前
CVE-2022-46169漏洞复现
linux
吹个口哨写代码2 小时前
防止包含 XSS 攻击风险的内容提交成功
java·服务器·前端
默|笙2 小时前
【Linux】基本指令(2)
linux·运维·服务器