如何将命令的输出保存到 Bash 中的文件(又名 Linux 和 macOS 终端)如何将命令的输出保存到 Bash 中的文件(又名 Linux 和 macOS 终端)如何将命令的输出保存到 Bash 中的文件(又名 Linux 和 macOS 终端)如何将命令的输出保存到 Bash 中的文件(又名 Linux 和 macOS 终端)
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何将命令的输出保存到 Bash 中的文件(又名 Linux 和 macOS 终端)

当您在 bash 提示符下运行命令时,它通常会将该命令的输出直接打印到终端,以便您可以立即阅读。但 bash 还允许您“重定向”任何命令的输出,将其保存到文本文件中,以便您稍后查看输出。

这适用于任何操作系统上的 bash,从 Linux 和 macOS 到 Windows 10 的基于 Ubuntu 的 bash 环境。

选项一:仅将输出重定向到文件

要使用 bash 重定向,您运行命令,指定 > 或 >> 运算符,然后提供您希望输出重定向到的文件的路径。

  • > 将命令的输出重定向到文件,替换文件的现有内容。
  • >>> 将命令的输出重定向到文件,将输出附加到文件的现有内容。

从技术上讲,这会将“stdout”(标准输出,即屏幕)重定向到文件。

这是一个简单的例子。 ls 命令列出当前目录中的文件和文件夹。所以。当您运行以下命令时,ls 将列出当前目录中的文件和文件夹。但它不会将它们打印到屏幕上——它会将它们保存到您指定的文件中。

ls > /path/to/file

您不必指定现有文件的路径。指定任何有效路径,bash 将在该位置创建一个文件。

如果您查看文件的内容,您将看到 ls 命令的输出。例如,cat 命令将文件的内容打印到终端:

cat /path/to/file

请记住, > 运算符用命令的输出替换文件的现有内容。如果你想将多个命令的输出保存到一个文件中,你可以使用 >>> 运算符来代替。例如,以下命令会将系统信息附加到您指定的文件中:

uname -a >> /path/to/file

如果该文件不存在,bash 将创建该文件。否则,bash 将保留文件的现有内容并将输出附加到文件末尾。

当您查看文件的内容时,您会看到第二个命令的结果附加到文件的末尾:

您可以根据需要多次重复此过程,以将输出附加到文件末尾。

选项二:正常打印输出并将其重定向到文件

您可能不喜欢使用 > 或 >> 运算符重定向输出,因为您不会在终端中看到命令的输出。这就是 tee 命令的用途。 tee 命令将它接收到的输入打印到屏幕上并同时将它保存到一个文件中。

要将命令的输出通过管道传输到 tee,将其打印到屏幕并将其保存到文件,请使用以下语法:

command | tee /path/to/file

这将用命令的输出替换文件中的任何内容,就像 > 运算符一样。

要将命令的输出通过管道传输到 tee ,打印到屏幕并将其保存到文件,但将其附加到文件末尾:

command | tee -a /path/to/file

这会将输出附加到文件末尾,就像 >> 运算符一样。

bash shell 包括一些执行类似功能的附加高级运算符。如果您正在编写 bash 脚本,它们将特别有用。有关更多详细信息,请参阅高级 Bash 脚本指南中的 I/O 重定向章节。

©2015-2025 艾丽卡 support@alaica.com