如何将 Linux 终端中命令的输出保存到文件中
创始人
2024-03-02 06:12:42
0

当你在 Linux 终端中运行命令或脚本时,它会在终端中打印输出方便你立即查看。

有时你需要将输出保存到文件中以备将来参考。当然你可以在 Linux 终端中复制和粘贴,但是有更好的方法可以在 Linux 命令行中保存 shell 脚本或命令的输出,让我演示给你看。

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

你可以在 Linux 中使用重定向来达成目的。使用重定向操作符,它会将输出保存到文件中而不是在屏幕上显示。

  • > 会将命令输出重定向到文件,它会替换文件中的所有内容。
  • >> 会将命令输出添加到文件现有内容的末尾。

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

command > file.txt

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

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

将命令输出重定向到文件

如果你不想在保存脚本或命令的输出时丢失现有文件的内容,可以使用 >>

command >> file.txt

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

将命令输出重定向到文件

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

温馨提示:将 Linux 命令输出和错误保存到一个文件中。

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

command > file.txt 2>&1

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

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

顺便说一句,你是否注意到,当你将命令输出发送到一个文件时,你再也无法在终端上看到它了?Linux 的 tee 命令解决了这个问题。

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

command | tee file.txt

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

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

command | tee -a file.txt

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

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

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

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

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

如果你是一个 Linux 命令行新手,我希望这个快速教程对你的 Linux 知识有所帮助。I/O 重定向是一个需要注意的基本概念。

一如既往,欢迎提出问题和建议。


via: https://itsfoss.com/save-command-output-to-file-linux/

作者:Abhishek Prakash 选题:lujun9972 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

谁火就蹭谁!顶级域名ai....
快科技2月10日消息,顶级域名ai.com被发现重定向到了中国AI...
2025-02-10 17:19:08
不重定向的情况下将HTML...
在Python中,你可以使用requests库来发送HTTP请求并...
2025-01-12 12:31:38
不重定向的URL重写
在不重定向的情况下实现URL重写,可以使用URL重写模块或者服务器...
2025-01-12 12:31:34
不重定向到所需页面
在处理重定向时,可以使用以下代码示例来解决“不重定向到所需页面”的...
2025-01-12 12:31:21
不重定向到身份提供者的登录...
创建一个表单,以POST请求方式将用户的凭证(例如用户名和密码)发...
2025-01-12 12:31:00
不重定向父进程的情况下重定...
在不重定向父进程的情况下重定向子进程,可以使用文件描述符的复制和重...
2025-01-12 12:30:54

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...