Bash 写入文件17 Mar 2025 | 4 分钟阅读 当我们在 bash shell 中运行任何命令时,它通常会将该命令的输出打印到终端,以便我们可以立即读取。 但是 bash 还提供了一个选项,可以将任何 bash 命令的输出“重定向”到日志文件。 它可以将输出保存到文本文件中,以便我们以后在需要时查看它。 方法 1:仅将输出写入文件要将 Bash 命令的输出写入文件,我们可以使用右尖括号 (>) 或双右尖括号 (>>)。 右尖括号 (>)它用于将 bash 命令的输出写入磁盘文件。 如果没有具有指定名称的文件,它将创建一个具有相同名称的新文件。 如果该文件已存在且具有指定的名称,则该文件的内容将被覆盖。 双右尖括号 (>>)它用于将 bash 命令的输出写入文件,并将输出附加到文件的现有内容中。 如果该文件不存在,它将创建一个具有指定名称的新文件。 从技术上讲,这两个运算符都将“stdout(标准输出)”重定向到文件。 简单来说,当我们第一次写入文件,并且不希望文件中存在之前的数据时,我们应该使用右尖括号(>)。 如果该文件已存在,它将覆盖该文件的内容。 在后续的脚本中,我们可以使用双右尖括号 (>>) 将数据附加到文件中。 示例'ls' 命令用于打印当前目录中存在的所有文件和文件夹。 但是,当我们使用右尖括号(>)运行“ls”命令时,它不会将文件和文件夹列表打印到屏幕上。 它会将输出保存到我们指定的文件中,如下所示 Bash 脚本 输出 ![]() 如此处所示,“ls”命令的输出被重定向到一个文件中。 要将文件的内容打印到终端,我们可以使用以下形式的“cat”命令 Bash 脚本 输出 ![]() 如果我们想在不删除可用数据的情况下,将多个命令的输出重定向到单个文件中,那么我们可以使用>>运算符。 假设我们要将系统信息附加到指定的文件中,我们可以通过以下方式进行操作 Bash 脚本 输出 ![]() 在这里,第二个命令的结果被附加到文件的末尾。 我们可以多次重复此过程,以不断将输出附加到文件的末尾。 方法 2:正常打印输出并将其写入文件有些人可能不喜欢使用 > 或 >> 运算符将输出写入文件,因为终端中不会显示该命令的输出。 这就是使用“tee”命令的原因。 “tee”命令用于将接收到的输入打印到屏幕。 它可以同时将输出保存到文件中。 Bash 脚本 输出 ![]() 这将覆盖文件的内容,就像 > 运算符一样,但也会在屏幕上打印输出。 如果我们要使用 tee 命令将输出写入文件而不删除文件的内容,我们可以使用以下形式,该形式也会将输出打印到终端 Bash 脚本 输出 ![]() 这不仅会将输出附加到文件的末尾,还会将输出打印到屏幕上。 下一个主题Bash 检查文件是否存在 |
我们请求您订阅我们的新闻通讯以获取最新更新。