Bash Tee 命令

MD Aminul Islam 2023年1月30日 2022年7月18日
  1. Bash 中的 tee 命令
  2. 在 Bash 中使用 tee 命令写入多个文件
  3. 在 Bash 中使用 tee 命令附加文件
  4. 在 Bash 中使用 tee 命令忽略中断
  5. 在 Bash 中使用 tee 命令隐藏输出
Bash Tee 命令

Bash 中有一个名为 tee 的特殊命令,它可以从标准输入读取并以标准格式将输出写入一个或多个文件。它还通过管道与其他命令一起使用。

本文将详细介绍 tee 命令。此外,我们将查看一些示例和解释,以使它们更易于理解。

Bash 中的 tee 命令

tee 命令的一般语法是 tee YOUR_OPTIONS YOUR_FILE_NAME。此命令的可用选项是:

  1. -a - 也称为 --append,告诉命令不要覆盖文件并附加到提供的文件。
  2. -i - 也称为 --ignore 中断,用于忽略中断信号。

下面分享了一个 tee 命令的基本示例。

df -H | tee disk_usage.txt

在上面共享的示例中,我们只运行 tee disk_usage.txt 文件。运行示例代码后,你将获得以下输出。

Filesystem      Size  Used Avail Use% Mounted on
rootfs          198G  120G   79G  61% /
none            198G  120G   79G  61% /dev
none            198G  120G   79G  61% /run
none            198G  120G   79G  61% /run/lock
none            198G  120G   79G  61% /run/shm
none            198G  120G   79G  61% /run/user
tmpfs           198G  120G   79G  61% /sys/fs/cgroup
C:\             198G  120G   79G  61% /mnt/c
E:\             178G   26G  153G  15% /mnt/e
F:\             278G  152G  127G  55% /mnt/f
G:\             278G   17G  262G   6% /mnt/g

在 Bash 中使用 tee 命令写入多个文件

你还可以使用 tee 命令写入多个文件。为此,你可以按照以下示例进行操作。

command | tee file1.txt file2.txt file3.txt

在上面共享的示例中,我们编写了三个名为 file1.txtfile2.txtfile3.txt 的文件。

在 Bash 中使用 tee 命令附加文件

命令 tee 还使我们能够附加文件。为此,你可以按照以下命令进行操作。

command | tee -a file.txt

正如我们已经讨论过的,-a 标志表示附加操作。

在 Bash 中使用 tee 命令忽略中断

你可以按照下面共享的代码忽略命令执行中不必要的中断。

command | tee -I file.txt

在执行期间通过 Ctrl+C 停止命令时非常有用。

在 Bash 中使用 tee 命令隐藏输出

不想 tee 在标准模式下写输出?只需将其重定向到 /dev/null 并按照以下命令进行操作。

command | tee file.txt >/dev/null

本文中使用的所有代码都是用 Bash 编写的。它只能在 Linux Shell 环境中运行。

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn