hdadalah sinonim untuk hexdump -Cdi FreeBSD dan pada beberapa distribusi Linux. hexdumpberasal dari hari - hari BSD ; odadalah dari waktu fajar . Hanya odyang distandarisasi oleh POSIX . Alasan Tunggal UNIX membahas mengapa oddipilih berdasarkan preferensi hdatau xd.
Perintah-perintah ini melakukan hal yang sangat mirip: menampilkan representasi tekstual dari file biner, menggunakan notasi oktal, desimal atau heksadesimal. Tidak ada perbedaan mendasar antara keduanya.
Mereka memiliki banyak opsi untuk mengontrol format output, dan beberapa format hanya dapat dicapai dengan satu atau beberapa perintah lainnya. Secara khusus, untuk melihat sekilas apa yang ada dalam file biner, saya suka hdformat output, dengan kolom di sebelah kanan menunjukkan karakter yang dapat dicetak secara harfiah; odtidak bisa melakukan itu.
$ 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.....|
Terima kasih! Dalam output oktal oleh od, apakah satu digit berarti tiga bit? Jadi misalnya 04257718 bit yaitu 9/4 byte?
Tim
@Tim Ya, oktal berarti setiap digit berhubungan dengan 3 bit (dan heksadesimal , 4 bit). 042577 sebenarnya mewakili 16 bit (2 byte); digit pertama dalam sebuah blok dalam format ini akan selalu 0 atau 1. oktal (042577) = heksadesimal (7f45) = desimal (32581).
Gilles 'SO- stop being evil'
Terima kasih! Saya membaca dari sumber lain bahwa angka oktal dimulai dengan angka 0. Apa artinya ketika angka 1 dimulai?
Tim
@Tim Dalam banyak bahasa pemrograman, 123adalah angka yang diwakili dalam basis 10 (desimal), sedangkan 0123artinya angka tersebut diwakili dalam basis 8 (oktal), yaitu 012383. 0x123akan berada di basis 16 (heksadesimal), yaitu 291. Ini adalah tidak terkait dengan odformat output.
Gilles 'SANGAT berhenti menjadi jahat'
Banyak? Saya akan mengatakan C-suka dan turunannya - ya, memang. Apa lagi? Berapa banyak?
poige
5
Sebenarnya oddapat menampilkan karakter hex / oct / dec dan printable:
xxd
juga! : DJawaban:
hd
adalah sinonim untukhexdump -C
di FreeBSD dan pada beberapa distribusi Linux.hexdump
berasal dari hari - hari BSD ;od
adalah dari waktu fajar . Hanyaod
yang distandarisasi oleh POSIX . Alasan Tunggal UNIX membahas mengapaod
dipilih berdasarkan preferensihd
atauxd
.Perintah-perintah ini melakukan hal yang sangat mirip: menampilkan representasi tekstual dari file biner, menggunakan notasi oktal, desimal atau heksadesimal. Tidak ada perbedaan mendasar antara keduanya.
Mereka memiliki banyak opsi untuk mengontrol format output, dan beberapa format hanya dapat dicapai dengan satu atau beberapa perintah lainnya. Secara khusus, untuk melihat sekilas apa yang ada dalam file biner, saya suka
hd
format output, dengan kolom di sebelah kanan menunjukkan karakter yang dapat dicetak secara harfiah;od
tidak bisa melakukan itu.sumber
042577
18 bit yaitu 9/4 byte?123
adalah angka yang diwakili dalam basis 10 (desimal), sedangkan0123
artinya angka tersebut diwakili dalam basis 8 (oktal), yaitu0123
83.0x123
akan berada di basis 16 (heksadesimal), yaitu 291. Ini adalah tidak terkait denganod
format output.Sebenarnya
od
dapat menampilkan karakter hex / oct / dec dan printable:Perbedaan utama, saya kira, hanya historis. Juga beberapa versi
hd
dapat mewarnai keluaran.sumber
od
tidak mendukungz
sufiks in-tx1z
hd
. Meskipun demikian, bermanfaat, terima kasih :)