当您在Linux终端中运行命令或脚本时,它会在终端中打印输出以供您立即查看。有时您需要将输出保存到文件以供将来参考。当然,您可以在Linux终端中进行复制和粘贴,但还有更好的方法可以在Linux命令行中保存shell脚本或命令的输出,让我向您展示。方法1:使用重定向将命令输出保存到文件您可以在Linux中使用重定向来达到此目的。使用重定向运算符,将输出保存到文件而不是将其显示在屏幕上。>会将命令的输出重定向到一个文件,并替换文件中的所有内容。>>会将命令的输出添加到文件现有内容的末尾。使用标准输出重定向运算符>将输出重定向到一个文件:command>file.txt如果file.txt不存在,它将自动创建。如果您再次使用>重定向到同一个文件,文件内容将被新输出替换。下面的例子将更好地展示它。它首先保存ls-l命令的输出,然后用ls*.c命令的输出替换文件的内容。将命令输出重定向到文件如果你不想在保存脚本或命令的输出时丢失现有文件的内容,你可以使用>>:command>>file.txt下面的例子更好地演示了它:重定向命令输出指向一个文件会自动创建它,即使它不存在。额外提示:将Linux命令输出和错误保存到文件中。如果Linux命令返回错误,则错误不会保存在文件中。可以使用2>&1将一条命令的输出和错误保存到同一个文件中,如下:command>file.txt2>&1通常,0为标准输入,1为标准输出,2为标准错误。在这里,您将(&)标准错误(2)重定向到与标准输出(1)相同的地址。方法二:使用tee命令显示输出并保存到文件顺便说一句,你有没有注意到,当你将一个命令的输出发送到一个文件中时,你在终端上就再也看不到了?Linux的tee命令解决了这个问题。类似于向两个方向输送水的三通,tee命令将输出发送到终端和文件(或作为另一个命令的输入)。你可以像这样使用它:命令|teefile.txt同样,如果该文件不存在,它将自动创建。也可以使用tee命令的-a选项进入追加模式:command|tee-afile.txt让我用一些简单的例子来演示:我在例子中使用了简单的Linux命令。不过不用担心,您也可以使用这些方法来保存bash脚本的输出。注意:将命令输出保存到文件时避免管道陷阱你可能熟悉管道重定向,它可以用来组合Linux命令,但你不能将输出管道输出到文件,它说找不到output.txt命令:这是因为管道将一个命令的输出重定向到另一个命令的输入。在这种情况下,您向它传递一个文件名,它需要一个命令。如果您是Linux命令行的新手,我希望本快速教程对您的Linux知识有所帮助。I/O重定向是一个需要注意的基本概念。
