Antworten:
hdist ein Synonym für hexdump -Cauf FreeBSD und auf einigen Linux - Distributionen. hexdumpist aus den BSD-Tagen ; odist von Anfang an . Nur odist von POSIX standardisiert . In der Begründung zu Single UNIX wird erläutert, warum odgegenüber hdoder bevorzugt wurde xd.
Diese Befehle führen sehr ähnliche Aktionen aus: Anzeigen einer Textdarstellung einer Binärdatei in Oktal-, Dezimal- oder Hexadezimalschreibweise. Es gibt keinen grundlegenden Unterschied zwischen den beiden.
Sie haben viele Optionen zur Steuerung des Ausgabeformats, und einige Formate können nur mit dem einen oder anderen Befehl erreicht werden. Um einen Blick auf die Inhalte einer Binärdatei zu werfen, gefällt mir hddas Ausgabeformat mit einer Spalte auf der rechten Seite, in der druckbare Zeichen buchstäblich angezeigt werden. odkann das nicht.
$ od /bin/sh | head -n 2 # od default: octal, 2-byte words
0000000 042577 043114 000402 000001 000000 000000 000000 000000
0000020 000002 000076 000001 000000 170020 000101 000000 000000
$ od -Ax -t x1 /bin/sh | head -n 2 # od showing bytes in hexadecimal
000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
000010 02 00 3e 00 01 00 00 00 10 f0 41 00 00 00 00 00
$ hd /bin/sh | head -n 2 # hd default output: nice
00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 02 00 3e 00 01 00 00 00 10 f0 41 00 00 00 00 00 |..>.......A.....|
04257718 Bits dh 9/4 Bytes?
123wird eine Zahl in Basis 10 (dezimal) dargestellt, während dies 0123bedeutet, dass die Zahl in Basis 8 (oktal) dargestellt wird, dh 012383 ist. 0x123Dies wäre in Basis 16 (hexadezimal), dh 291. Dies ist unabhängig vom odAusgabeformat.
Tatsächlich odkönnen beide hex Anzeige / Okt / dec und druckbare Zeichen:
$ od -Ax -tx1z /bin/sh | head -n2
000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 >.ELF............<
000010 03 00 3e 00 01 00 00 00 32 4e 00 00 00 00 00 00 >..>.....2N......<
Der Hauptunterschied ist wohl nur historisch. Einige Versionen hdkönnen auch Farben ausgeben.
odunterstützt das zSuffix in-tx1z
hd. Trotzdem nützlich, danke :)
xxd! : D