GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So speichern Sie die Linux-Befehlsausgabe in einem Bild oder einer Textdatei

Waren Sie schon einmal in einer Situation, in der Sie die Ausgabe eines Linux-Befehls an Ihren Kollegen oder Freund senden wollten, um Hilfe zu erhalten? Dieser einfache Linux-Hack wird Ihnen auf jeden Fall nützlich sein. Sie können die Ausgabe eines Linux-Befehls in einem Bild oder einer Datei speichern. Alles, was Sie brauchen, ist nur ImageMagick . Dies kann hilfreich sein, wenn Sie die Ausgabe an einen Mitarbeiter des technischen Supports oder einen Kollegen senden müssen.

Linux-Befehlsausgabe in einem Bild speichern

Installieren Sie zuerst das ImageMagick-Tool. Es ist in den Standard-Repositories der meisten Linux-Distributionen verfügbar.

Um beispielsweise ImageMagick in Arch Linux und seinen Derivaten zu installieren, führen Sie Folgendes aus:

$ sudo pacman -S imagemagick

Auf Debian, Ubuntu und anderen DEB-basierten Systemen können Sie es wie unten gezeigt installieren.

$ sudo apt-get install imagemagick

Auf Fedora:

$ sudo dnf install ImageMagick

Unter CentOS:

$ sudo yum install ImageMagick

Unter openSUSE:

$ sudo zypper install ImageMagick

Um nun die Ausgabe eines beliebigen Linux-Befehls in einer Bilddatei zu speichern, führen Sie einfach den folgenden Befehl aus:

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

Der obige Befehl speichert die Ausgabe des ifconfig-Befehls in einem Image und speichert es im aktuellen Arbeitsverzeichnis. Lassen Sie uns den obigen Befehl aufschlüsseln und sehen, was jede Option bewirkt.

  • ip a zeigt die IP-Adresse Ihres Linux-Systems an.
  • konvertieren Der Befehl speichert die Ausgabe in einem Bild.
  • label:@- meineipaddress.png speichert die Befehlsausgabe im Bild mit dem Namen myipaddress.png .

Hier ist die Ausgabe des obigen Befehls in meinem Ubuntu 18.04-Desktopsystem.

Hier ist noch einer. Ich habe meine Linux-Kernel-Ausgabe in einem Bild gespeichert.

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

Beispielausgabe:

Was wir oben gesehen haben, ist, dass wir die Ausgabe des Befehls in einer Bilddatei gespeichert haben. Wir können die Ausgabe auch in einer vorhandenen Bilddatei speichern. Führen Sie dazu Folgendes aus:

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

Dieser Befehl druckt die Ausgabe von "lsb_release -a" Befehl zu einem Bild namens image.png und speichert es unter einem neuen Namen "systemdetails.png" .

Hier ist die Ausgabe des obigen Befehls:

Ziemlich einfach, nicht wahr? Sie können die Ausgabe jedes Befehls in einer Bilddatei speichern und an jeden senden, der Ihnen bei der Reparatur Ihres Systems helfen kann.

Fehlerbehebung

In neueren Ubuntu-Linux-Distributionen sind bestimmte Konvertierungsvorgänge aus Sicherheitsgründen eingeschränkt. Wenn Sie die obigen Befehle in Ubuntu OS ausprobiert haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

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

In diesem Fall müssen Sie policy.xml bearbeiten Konfigurationsdatei und ändern Sie die Richtlinie.

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

Suchen Sie die folgende Zeile:

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

Kommentieren Sie die folgende Zeile aus oder entfernen Sie sie:

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

Speichern und schließen Sie die Datei. Jetzt können Sie die Befehle in der Bilddatei speichern.

Linux-Befehlsausgabe in einer Textdatei speichern

Wir wissen, wie man die Ausgabe eines Befehls in/in einem Bild speichert. Wir können auch die Ausgabe eines Linux-Befehls in einer Datei speichern.

Zum Beispiel, um die "IP-Adresse" zu speichern die Ausgabe des Befehls in eine Datei namens myipaddress.txt , ausführen:

$ ip addr > myipaddress.txt

Um dies zu überprüfen, zeigen Sie die Textdatei mit Ihren bevorzugten Textbetrachtern an. Oder wir können den "cat"-Befehl wie unten verwenden.

$ cat myipaddress.txt

Der folgende Befehl speichert my pacman.log in einer Datei namens mylogs.txt .

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

Und wir können die IP-Details einfach mit dem Befehl speichern:

$ ip a > mynetworkdetails.txt

Möglicherweise möchten Sie die Ausgabe eines Befehls in mehrere Dateien schreiben. So geht's.

$ uname -a | tee file1 file2

Der obige Befehl schreibt die Ausgabe von "uname -a" Befehl an Datei1 und Datei2 . Wenn die Dateien noch nicht existieren, werden sie erstellt.

Standardmäßig wird der Inhalt von Datei1 und Datei2 überschrieben. Wenn Sie die Ausgabe an den vorhandenen Inhalt anhängen möchten, verwenden Sie -a kennzeichnen wie unten.

$ ip a | tee -a file1 file2

Dieser Befehl überschreibt nicht den vorhandenen Inhalt von Datei1 und Datei2. Stattdessen wird die Ausgabe des ifconfig-Befehls einfach an file1 und file2 angehängt. Mit anderen Worten, diese beiden Dateien haben jetzt die Ausgaben der Befehle "uname -a" und "ip a".


Linux
  1. So fügen Sie unter Linux Text an das Dateiende an

  2. So speichern Sie die Befehlsausgabe in einer Datei unter Linux

  3. Wie hängt man die Ausgabe an eine Datei an?

  4. Wie kann die Ausgabe des Zeitbefehls in eine Datei unter Linux umgeleitet werden?

  5. So bearbeiten Sie eine Textdatei in meinem Terminal

So speichern Sie die Ausgabe des Befehls in einer Datei mit dem Linux-Terminal

So sperren Sie eine Textdatei in Linux mit dem Befehl flock

So drucken Sie doppelte Zeilen in einer Textdatei unter Linux

So mischen Sie Zeilen in einer Datei unter Linux

So verwenden Sie den Befehl lsof unter Linux

So verwenden Sie den Linux-Befehl shred