Yanıtlar:
hd
eşanlamlıdır hexdump -C
üzerinde FreeBSD ve bazı Linux dağıtımlarında. hexdump
ila BSD gün ; od
dan Zamanın başlangıcından . Sadece od
bir POSIX tarafından standardize . Tek UNIX gerekçe geçen niçin od
tercih edilerek seçildi hd
ya xd
.
Bu komutlar çok benzer şeyler yapar: sekizli, ondalık veya onaltılık gösterimi kullanarak ikili bir dosyanın metinsel gösterimini görüntüler. İkisi arasında temel bir fark yok.
Çıkış formatını kontrol etmek için birçok seçeneğe sahiptirler ve bazı formatlara yalnızca bir veya diğer komutla ulaşılabilir. Özellikle, bir ikili dosyada ne bir bakış görmek için, hd
çıktı biçimini seviyorum , sağda bir sütun tam olarak yazdırılabilir karakterler gösteren; od
bunu yapamam.
$ 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.....|
042577
18 bit mi yani 9/4 bayt mı?
123
taban 10'da (ondalık) temsil edilen bir sayıdır, oysa 0123
sayının taban 8'de (sekizli), yani 0123
83'te temsil edildiği anlamına gelir 0x123
. Taban 16'da (onaltılı), yani 291'de temsil edilir. od
çıktı biçimi ile ilgisiz .
Aslında od
hem hex / oct / dec hem de yazdırılabilir karakterleri görüntüleyebilir:
$ 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......<
Temel fark, sanırım, sadece tarihseldir. Ayrıca bazı sürümler hd
renkli çıktılar verebilir.
od
, z
son eki desteklemiyor-tx1z
hd
. Yine de, yararlı, teşekkür ederim :)
xxd
! : D