如何 Save Linux 命令输出到图像或文本文件

您是否曾经遇到过想要将 Linux 命令的输出发送给您的同事或朋友以获得帮助的情况? 这个简单的 Linux hack 肯定会对你有用。 您可以将 Linux 命令输出保存到图像或文件中。 你所需要的只是 ImageMagick. 当您需要将输出发送给技术支持人员或同事时,这会很有帮助。

内容

  1. Save Linux 命令输出到图像
    1. 故障排除
  2. Save Linux 命令输出到文本文件
    1. 帮助我们帮助您:

Save Linux 命令输出到图像

首先安装 ImageMagick 工具。 它在大多数 Linux 发行版的默认存储库中可用。

例如,要在 Arch Linux 及其衍生版本中安装 ImageMagick,请运行:

$ sudo pacman -S imagemagick

在 Debian、Ubuntu 和其他基于 DEB 的系统上,您可以安装它,如下所示。

$ sudo apt-get install imagemagick

在 Fedora:

$ sudo dnf install ImageMagick

在 CentOS 上:

$ sudo yum install ImageMagick

在 openSUSE 上:

$ sudo zypper install ImageMagick

现在,要将任何 Linux 命令的输出保存到映像文件,只需运行以下命令:

$ ip a | convert label:@- myipaddress.png

上述命令会将 ifconfig 命令输出保存到一个 Image 中,并保存在当前工作目录中。 让我们整理一下上面的命令,看看每个选项的作用。

  • ipa 将显示您的 Linux 系统的 IP 地址。
  • 兑换 命令将输出保存到图像。
  • 标签:@- myipaddress.png 将命令输出保存到名为 我的IP地址.png.

这是我的 Ubuntu 18.04 桌面系统中上述命令的输出。

这是另一个。 我将我的 Linux 内核输出保存到图像中。

$ uname -a | convert label:@- mylinuxkernel.png

样本输出:

我们在上面看到的是我们已经将命令的输出保存在一个图像文件中。我们也可以将输出保存在一个现有的图像文件中。 为此,请运行:

$ convert -font -misc-fixed-*-*-*-*-*-*-*-*-*-*-*-* -fill black -draw "text 270,260 " `lsb_release -a` "" image.png systemdetails.png

该命令将打印输出 “lsb_release -a” 命令到一个名为的图像 图像.png 并用新名称保存 “系统详细信息.png”.

以下是上述命令的输出:

Save  使用 Convert 命令将 Linux 命令输出到图像文件

很容易,不是吗? 您可以将任何命令的输出保存在图像文件中,并将其发送给任何可以帮助您修复系统的人。

故障排除

在最近的 Ubuntu Linux 发行版中,出于安全原因,某些转换操作受到限制。 如果您在 Ubuntu OS 中尝试上述命令,您可能会遇到以下错误消息:

convert-im6.q16: not authorized `@-' @ error/property.c/InterpretImageProperties/3516.
convert-im6.q16: no images defined `myipaddress.png' @ error/convert.c/ConvertImageCommand/3258.

在这种情况下,您需要编辑 策略.xml 配置文件并更改策略。

$ sudo nano /etc/ImageMagick-6/policy.xml

找到以下行:

<policy domain="path" rights="none" pattern="@*" />

注释掉或删除以下行:

[...]
<!--  <policy domain="path" rights="none" pattern="@*"/> -->
[...]

Save 和 close 文件。 现在您可以将命令保存在图像文件中。

Save Linux 命令输出到文本文件

我们知道如何将命令的输出保存到图像中。 我们也可以将 Linux 命令的输出保存到文件中。

例如,要保存 “ip地址” 命令的输出到一个名为 我的IP地址.txt, 跑:

$ ip addr > myipaddress.txt

要验证它,请使用您喜欢的文本查看器查看文本文件。 或者,我们可以使用下面的“cat”命令。

$ cat myipaddress.txt

以下命令会将我的 pacman.log 保存到一个名为 我的日志.txt.

$ tail -f /var/log/pacman.log  > mylogs.txt

而且,我们可以使用以下命令轻松保存 IP 详细信息:

$ ip a > mynetworkdetails.txt

您可能希望将命令的输出写入多个文件。 这是如何做到的。

$ uname -a | tee file1 file2

上面的命令将写入输出 “未命名-a” 命令 文件 1文件2. 如果文件不存在,它将创建它们。

默认情况下,它将覆盖 file1 和 file2 的内容。 如果要将输出附加到现有内容,请使用 -一个 像下面这样的标志。

$ ip a | tee -a file1 file2

此命令不会覆盖 file1 和 file2 的现有内容。 相反,它只会将 ifconfig 命令的输出附加到 file1 和 file2。 换句话说,这两个文件现在具有“uname -a”和“ip a”命令的输出。

感谢您的光临!

帮助我们帮助您:

  • 订阅我们的电子邮件通讯: 立即注册
  • 支持 OSTechNix: 通过贝宝捐款
  • 下载免费的电子书和视频: TradePub 上的 OSTechNix
  • 联系我们: 红迪网 | Facebook | 推特 | 领英 | RSS订阅

祝你有美好的一天!!

BASHImageMagickLinux 命令将 Linux 命令输出保存到文件将 Linux 命令输出保存到图像