Wie kann ich Dateien in Binärform von Bash anzeigen?


289

Ich möchte den Inhalt einer Datei im aktuellen Verzeichnis anzeigen, aber binär über die Befehlszeile. Wie kann ich das erreichen?

Antworten:


492

xxd macht sowohl binär als auch hexadezimal.

Behälter:

xxd -b file

verhexen:

xxd file

13
sudo xxd /dev/diskn | lessist jetzt meine neue Lieblingssache.
krs013

6
... und es ist unter Mac OS X und Linux vorinstalliert.
Sridhar Sarnobat

1
Dies hat gegenüber "hexdump" den Vorteil, dass auch das ASCII-Formular auf der Seite angezeigt wird, wodurch es einfacher ist, den Ort zu identifizieren, den ich betrachten möchte.
Paŭlo Ebermann

1
Und um die Ausgabe in eine ASCII-Textdatei zum Durchsuchen und Suchen zu speichern:xxd file > hex_dump_of_file.txt
Gabriel Staples

eine ergänzung: xxd ist nicht nur für linux shell. Ich denke es kommt mit vim. Ich hatte vim unter Windows installiert und habe gerade festgestellt, dass ich xxd auch unter Windows verwenden kann.
Tiina

182
hexdump -C yourfile.bin

es sei denn, Sie möchten es natürlich bearbeiten. Die meisten Linux-Distributionen haben hexdumpstandardmäßig (aber offensichtlich nicht alle).


1
Ich mag diese Idee, aber wie die anderen Vorschläge gibt sie nur hexadezimal aus. Natürlich ist dies viel kompakter als Binärdateien, aber ich habe es mit sehr kleinen Dateien zu tun, daher wird Binärdateien bevorzugt. Ist Hex die einzige Möglichkeit, die Datei anzuzeigen?
Adam_0

1
Wie klein ist die Datei? Alles über ein paar Bytes und Sie werden sowieso den Verstand verlieren, wenn Sie Binärdateien verwenden. Hex macht für die meisten Dinge viel mehr Sinn. Wenn Sie sich mit Hex nicht wohl fühlen, suchen Sie einfach die Bytes, an denen Sie interessiert sind, und konvertieren Sie sie mit einem Hex-Rechner.
Ente

3
Ich muss sicherstellen, dass meine Datei korrekt komprimiert wird und ich weiß nicht, wie sie in hexadezimaler Form aussehen soll (die Größe jeder Einheit beträgt 7 Bit), daher müsste ich die Zahlen von Hand eingeben.
Adam_0

Haben Sie Methoden, um Text aus einer Binärdatei anzuzeigen? Ich kann HEX-Code erhalten, aber wie soll ich ihn in normalen menschlichen Text dekodieren?
Lukas Liesis

Was ist mit der Ausgabe von hexdump -C data.bin | hexdump -C
cyb0k

69
vi your_filename

schlagen esc

Geben Sie ein :%!xxd, um die Hex-Zeichenfolgen anzuzeigen, und n :%!xxd -r, um zur normalen Bearbeitung zurückzukehren.


Ich habe festgestellt, dass :%!xxdich unerwünschte Zeichen, dh eine neue Zeile, zu meiner Datei hinzugefügt habe.
Quazi Irfan


13

Wenn Sie Binärdateien öffnen möchten (in CentOS 7):

strings <binary_filename>

IMO ist dies die einfachste und eleganteste aller Antworten. Ich wünschte, ich könnte es mehr als einmal positiv bewerten.
Olumide

Die beste Antwort zweifellos. Dadurch wird die Binärdatei in eine JSON-Datei konvertiert. Nicht alle Helden tragen Umhänge, das stimmt
Shubham Pawar

11

sudo apt-get install bless

Bless ist ein GUI-Tool, das anzeigen, bearbeiten, suchen und vieles mehr kann. Es ist sehr leicht.


1
Ja. Ich fand das einfacher als Vim.
Paulb


3
$ echo -n 'Hello world!' | hd
00000000  48 65 6c 6c 6f 20 77 6f  72 6c 64 21              |Hello world!|
0000000c

2
hd ist ein Alias ​​für "hexdump -C" ...?
JAR.JAR.beans

@ JAR.JAR.beans Ja in der Tat. Ich benutze es, weil es leichter zu merken ist.
Aalex Gabi

Und weil es auf einigen Systemen (Debian) standardmäßig vorhanden ist.
Aalex Gabi


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.