如何将Linux命令输出保存到文件的两种方法


原文地址:如何将Linux命令输出保存到文件的两种方法

本篇文章分享了如何将Linux命令行输出保存到文件中。文章分享了两种方法:一种是使用Linux IO重定向符号,一种是使用tee命令。tee命令比Linux IO重定向符号更好用。

当您在Linux终端中运行命令或脚本时,它将在屏幕上打印输出以供您立即查看。

有时您需要将输出保存到文件中以备将来参考。一般情况下很多人都使用复制粘贴,但是这种效率太低,本篇文章分享一个更好的方法:将Linux命令行输出保存到文件中。

方法1:使用重定向将命令输出保存到Linux中的文件

在linux命令行中,重定向使用>和>>来表示。

  • >将命令输出重定向到文件,替换该文件上的所有现有内容。
  • >>重定向将命令输出添加到文件现有内容(如果有)的末尾。

使用STDOUT重定向运算符>将输出重定向到如下文件:

command > file.txt

如果file.txt不存在,它将自动创建。如果对同一文件再次使用>重定向,则文件内容将被新的输出替换。

下面的示例将更好地演示它。它首先保存ls -l命令的输出。然后,将其内容替换为ls * .c命令的输出。

如何将Linux命令输出保存到文件的两种方法

如果在保存脚本或命令的输出时不想丢失现有文件的内容,请在附加模式下使用带有>>的重定向操作。

command >> file.txt

这个例子更好地展示了它:

如何将Linux命令输出保存到文件的两种方法

即使文件不存在,它也会自动创建。

 

温馨提示:将Linux命令输出以及错误保存到文件中

如果您的Linux命令返回错误,则不会将其保存在文件中。您可以使用2>&1将命令输出和命令错误都保存在同一文件中,如下所示:

command> file.txt 2>&1

基本上,0代表标准输入,1代表标准输出,2代表标准错误。在这里,您要将标准错误(2)重定向(>)到与标准输出(1)相同的地址(&)。

方法2:使用tee命令显示输出并将其保存到文件中

顺便说一句,您是否注意到当您将命令输出发送到文件时,您再也无法在显示屏上看到它了吗?Linux中的tee命令可以为您解决此问题。

就像将水流发送到两个方向的三通管一样,Tee命令将输出发送到显示器以及文件(或作为另一个命令的输入)。您可以像这样使用它:

command | tee file.txt

同样,如果文件尚不存在,将自动创建该文件。

您还可以按以下方式在带有选项-a的附加模式下使用tee命令:

command | tee -a file.txt

让我用一些易于遵循的示例来演示它:

如何将Linux命令输出保存到文件的两种方法

我在示例中使用了简单的Linux命令。但是请放心,您也可以使用这些方法来保存bash脚本的输出。

注意:在将命令输出保存到文件时,避免管道陷井

您可能熟悉管道重定向。您可以使用它来组合Linux命令,但不能将输出通过管道传输到文件。找不到文件名命令将导致错误:

如何将Linux命令输出保存到文件的两种方法

这是因为管道将一个命令的输出重定向到另一命令的输入。在这种情况下,您可以在等待命令时给它一个文件名。

如果您不熟悉Linux命令行,希望本快速教程对您的Linux知识有所帮助。I/O重定向是一个应注意的基本概念。

评论

登录后评论

服务器优惠活动

Top