tee 是一个用于将标准输入(stdin)的数据同时复制到标准输出(stdout,即你的屏幕)和一个或多个文件中的命令,常用在管道中,以实现既要实时查看输出,又要将其保存到文件的需求。
📝 基本语法与常用选项
bash
command | tee [选项] [文件名1] [文件名2] ... [文件名N]
| 选项 | 说明 |
|---|---|
| -a, --append | 追加模式:将输出追加到文件末尾,而不是覆盖原文件。 |
| -i, --ignore-interrupts | 忽略中断信号(如 Ctrl+C),确保文件能完整写入。 |
| -p | 在写入文件前,若目标目录不存在则自动创建。 |
| --help | 显示帮助信息。 |
| --version | 显示版本信息。 |
🔧 核心功能示例
以下是一些最常用的 tee 场景。
- 场景一:基本的输出与保存
最常用的场景。将 df -h 命令的输出同时显示在屏幕并写入文件 disk_usage.txt。
bash
#将输出显示在屏幕并写入文件
df -h | tee disk_usage.txt
- 场景二:追加内容到文件
bash
#将uptime命令的输出追加到system.log文件的末尾
uptime | tee -a system.log
- 场景三:同时写入多个文件
bash
#将hostnamectl命令的输出同时写入install.log和system_info.txt
hostnamectl | tee install.log system_info.txt