Startseite > Textverarbeitung & Suche > xxd

xxd: Hexdump- und Reversionswerkzeug

Der xxd-Befehl ist ein Werkzeug, das Dateien im Hexadezimalformat (dump) ausgibt oder umgekehrt Hexadezimal-Dumps in die ursprüngliche Binärdatei zurückwandelt. Er ist flexibler als `hexdump` und besonders nützlich, wenn der Inhalt einer Binärdatei bearbeitet und dann wieder in den ursprünglichen Zustand zurückgesetzt werden soll.

Übersicht

xxd zeigt den Inhalt von Binärdateien ähnlich wie `hexdump` oder `od` in Hexadezimal- und ASCII-Zeichen an. Das wichtigste Merkmal ist jedoch die **Reversionsfunktion**, die es ermöglicht, den gedumpten Inhalt wieder in die ursprüngliche Binärdatei zurückzuwandeln. Dank dieser Funktion können Binärdateien in einem Texteditor im Hexadezimalformat bearbeitet und dann mit `xxd -r` wieder als Binärdatei gespeichert werden. Diese Flexibilität ist bei der Analyse und Modifikation von Binärdateien sehr leistungsfähig, insbesondere in Verbindung mit dem `vim`-Editor.

Hauptmerkmale

Die Hauptmerkmale des xxd-Befehls sind:

  • Gibt den Inhalt einer Datei im Hexadezimal- und ASCII-Format aus.
  • Kann einen Hexadezimal-Dump zurück in die ursprüngliche Binärdatei umwandeln.
  • Kann zur Bearbeitung von Binärdateien mit einem normalen Texteditor verwendet werden.
  • Bietet verschiedene Optionen zur detaillierten Steuerung des Ausgabeformats.

Unterschiede zwischen xxd und hexdump

xxd und hexdump ähneln sich in ihrer Hex-Dump-Funktion, unterscheiden sich aber hauptsächlich durch das Vorhandensein der Reversionsfunktion.

  • xxd: Bietet eine `Reversionsfunktion` (`-r`), um einen Hexadezimal-Dump in die ursprüngliche Binärdatei zurückzuwandeln. Hat eine starke Integration mit `vim`.
  • hexdump: Ein Werkzeug, das sich ausschließlich auf die Dump-Funktion konzentriert und keine Reversionsfunktion bietet.

Wichtige Optionen

Häufig verwendete Optionen des xxd-Befehls, nach Zweck gruppiert.

1) Dump- und Reversionsoptionen

2) Hilfe

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`xxd` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Lernen Sie die Funktionen des xxd-Befehls anhand verschiedener Anwendungsbeispiele kennen.

Dateiinhalte hexadezimal dumpen

echo 'Hello World!' > test.txt
xxd test.txt

Gibt den Inhalt der Datei `test.txt` als Hexadezimal- und ASCII-Zeichen aus.

Hexadezimal-Dump in Datei speichern

xxd /bin/ls > ls_dump.txt

Speichert den Inhalt der Binärdatei `/bin/ls` in der Datei `ls_dump.txt`.

Dump-Datei in Original zurückwandeln

xxd -r ls_dump.txt ls_copy

Wandelt die zuvor gespeicherte Datei `ls_dump.txt` zurück in die ursprüngliche Binärdatei `ls_copy`. **Diese Funktion ist das wichtigste Merkmal von xxd.**

Binärdateien mit vim bearbeiten

vim file.bin
(in vim) :%!xxd
(bearbeiten)
(in vim) :%!xxd -r

Wechselt in `vim` mit dem Befehl `%!xxd` in den Hexadezimal-Dump-Modus, bearbeitet die Datei und speichert sie dann mit `%!xxd -r` zurück.

Installation

xxd ist im `vim`-Paket enthalten. Da `vim-common` oder das `vim`-Paket standardmäßig auf den meisten Linux-Distributionen installiert ist, ist keine separate Installation erforderlich.

Debian/Ubuntu

sudo apt update
sudo apt install -y vim-common

RHEL/CentOS/Fedora

sudo dnf install -y vim-common

Tipps & Hinweise

Hier sind einige Punkte, die Sie bei der Verwendung des xxd-Befehls beachten sollten.

Tipps

  • Die Option `-r` von `xxd` kann nur Dump-Dateien korrekt zurückwandeln, die selbst mit `xxd` erstellt wurden. Sie funktioniert möglicherweise nicht mit Hex-Dump-Dateien in anderen Formaten.
  • Seien Sie beim Bearbeiten von Binärdateien sehr vorsichtig. Ein falsches Byte kann das gesamte Programm unbrauchbar machen.
  • Um ein Überschreiben der Originaldatei bei der Reversion zu vermeiden, ist es immer sicherer, unter einem anderen Dateinamen zu speichern (z.B. `xxd -r old.hex > new.bin`).

Verwandte Befehle

Funktional ähnliche oder häufig zusammen verwendete Befehle.


Gleiche Kategorie Befehle