温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何将Linux终端中命令输出保存到文件中

发布时间:2022-01-25 10:19:18 来源:亿速云 阅读:538 作者:iii 栏目:开发技术

这篇文章主要介绍了如何将Linux终端中命令输出保存到文件中的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何将Linux终端中命令输出保存到文件中文章都会有所收获,下面我们一起来看看吧。

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

重定向命令简介:

>或1> 重定向,会清除文件里所有以前数据,增加新数据。

>>或1>> 追加重定向,文件结尾加入内容,不会删除已有的内容。

我们使用>或者>>对输出进行重定向。符号的左边表示文件描述符,如果没有的话表示1,也就是标准输出,符号的右边可以是一个文件,也可以是一个输出设备。当使用>时,会判断右边的文件存不存在,如果存在的话就先删除,然后创建一个新的文件,不存在的话则直接创建。但是当使用>>进行追加时,则不会删除原来已经存在的文件。

使用标准输出重定向运算符 > 将输出重定向到文件:

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 命令显示输出并将其保存到文件中

tee命令简介:

功能说明:读取标准输入的数据,并将其内容输出成文件。
语   法:tee [-ai][–help][–version][文件…] 补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。我们可利用tee把管道导入的数据存成文件,甚至一次保存数份文件。
参   数:-a 附加到既有文件的后面,而非覆盖它。如果给予tee指令的文件名称已经存在,预设会覆盖该文件的内容。加上此参数后,数据会新增在该文件内容的最后面,而不会删除原先之内容。
-i 忽略中断信号
–help 在线帮助
–version 显示版本信息

类似于将水流发送到两个方向的三通管,tee 命令将输出发送到终端以及文件(或作为另一个命令的输入)。你可以像这样使用它:

command | tee file.txt

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

你还可以使用 tee 命令 -a 选项进入附加模式:

command | tee -a file.txt

让我用一些简单的例子来演示:

如何将Linux终端中命令输出保存到文件中

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

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

你可能对管道重定向很熟悉,可以使用它来组合 Linux 命令,但不能将输出通过管道传输到文件,它显示找不到 output.txt 命令:

如何将Linux终端中命令输出保存到文件中

这是因为管道将一个命令的输出重定向到另一个命令的输入。在本例中,你向它传递一个了一个文件名而它期望一个命令。

关于“如何将Linux终端中命令输出保存到文件中”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“如何将Linux终端中命令输出保存到文件中”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI