Hexdump - Perintah Linux - Perintah Unix

Nama

hexdump - ascii, desimal, heksadesimal, oktal dump

Ringkasan

[- bcCdovx ] -kata [- e format_string ] -kata [- f format_file ] -kata [- n panjang ] -kata [- s skip ] file ...

Deskripsi

Utilitas hexdump adalah filter yang menampilkan file yang ditentukan, atau input standar, jika tidak ada file yang ditentukan, dalam format yang ditentukan pengguna.

Pilihannya adalah sebagai berikut:

-b

Tampilan oktal satu-byte Menampilkan offset masukan dalam heksadesimal, diikuti oleh enam belas spasi, tiga kolom, nol-diisi, byte data input, dalam oktal, per baris.

-c

Tampilan karakter satu byte Menampilkan offset masukan dalam heksadesimal, diikuti oleh enam belas spasi terpisah, tiga kolom, ruang yang diisi, karakter data input per baris.

-C

Canonical hex + ASCII display Menampilkan offset input dalam heksadesimal, diikuti oleh enam belas spasi terpisah, dua kolom, byte heksadesimal, diikuti oleh enam belas byte yang sama dalam format% _p yang diapit dalam karakter `` | ''.

-d

Tampilan desimal dua-byte Menampilkan offset masukan dalam heksadesimal, diikuti oleh delapan unit data input dua-ruang, lima kolom, nol-terisi, dua-byte, dalam desimal tak bertanda, per baris.

-e format_string

Tentukan string format yang akan digunakan untuk menampilkan data.

-f format_file

Tentukan file yang berisi satu atau lebih string format baru yang dipisahkan. Garis dan garis kosong yang karakter pertama tidak kosongnya adalah tanda pagar ( # diabaikan).

-n panjang

Hanya menafsirkan panjang byte input.

-Hai

Tampilan oktal dua-bit Menampilkan offset masukan dalam heksadesimal, diikuti dengan delapan data input dua-ruang, enam kolom, nol-terisi, dua-byte, dalam oktal, per baris.

-sisi offset

Abaikan byte offset dari awal input. Secara default, offset diartikan sebagai angka desimal. Dengan 0x atau 0X offset diinterpretasikan sebagai angka heksadesimal, sebaliknya, dengan 0 offset terkemuka ditafsirkan sebagai angka oktal. Menambahkan karakter b k atau m ke offset menyebabkannya diinterpretasikan sebagai kelipatan dari 512 1024 atau 1048576 masing-masing.

-v

Opsi - v menyebabkan hexdump untuk menampilkan semua data input. Tanpa opsi - v , berapa pun jumlah kelompok jalur output, yang akan identik dengan kelompok garis output yang sebelumnya (kecuali untuk offset masukan), diganti dengan garis yang terdiri dari satu tanda bintang.

-x

Tampilan heksadesimal dua-byte Menampilkan offset masukan dalam heksadesimal, diikuti oleh delapan, ruang terpisah, empat kolom, nol-diisi, dua-byte jumlah input data, dalam heksadesimal, per baris.

Untuk setiap file masukan, salin secara berurutan input ke output standar, transformasi data sesuai dengan string format yang ditentukan oleh opsi - e dan - f , dalam urutan yang ditentukan.

Format

String format berisi sejumlah unit format, dipisahkan oleh spasi. Unit format berisi hingga tiga item: jumlah iterasi, jumlah byte, dan format.

Hitungan iterasi adalah bilangan bulat positif opsional, yang default ke salah satunya. Setiap format diterapkan waktu hitungan iterasi.

Hitungan byte adalah bilangan bulat positif opsional. Jika ditentukan itu mendefinisikan jumlah byte yang akan ditafsirkan oleh setiap iterasi dari format.

Jika hitungan iterasi dan / atau jumlah byte ditentukan, satu garis miring harus ditempatkan setelah hitungan iterasi dan / atau sebelum jumlah byte untuk membedakannya.

Setiap spasi sebelum atau sesudah garis miring diabaikan.

Format diperlukan dan harus dikelilingi tanda kutip ganda (""). Ini ditafsirkan sebagai string format fprintf-style (lihat fprintf (3)), dengan pengecualian berikut:

Hexdump juga mendukung string konversi tambahan berikut:

_a [ dox ]

Tampilkan offset masukan, kumulatif di seluruh file input, dari byte berikutnya yang akan ditampilkan. Karakter yang ditambahkan d dan x menetapkan basis tampilan sebagai desimal, oktal atau heksadesimal masing-masing.

_A [ dox ]

Identik dengan string konversi _a kecuali bahwa itu hanya dilakukan sekali, ketika semua data input telah diproses.

_c

Output karakter dalam set karakter default. Karakter non-cetak ditampilkan dalam tiga karakter, oktal tanpa-bantalan, kecuali yang dapat direpresentasikan oleh notasi pelarian standar (lihat di atas), yang ditampilkan sebagai dua string karakter.

_p

Output karakter dalam set karakter default. Karakter non-cetak ditampilkan sebagai satu '` . ''

_u

Output ASCII karakter, dengan pengecualian bahwa karakter kontrol ditampilkan menggunakan nama-nama berikut, huruf kecil,. Karakter yang lebih besar dari 0xff, heksadesimal, ditampilkan sebagai string heksadesimal.

000 nul 001 soh 002 stx 003 dst 004 malam 005

006 ack 007 bel 008 bs 009 ht 00A lf 00B vt

00C ff 00D cr 00E jadi 00F si 010 dle 011 dc1

012 dc2 013 dc3 014 dc4 015 nak 016 syn 017 etb

018 dapat 019 em 01A sub 01B esc 01C fs 01D gs

01E rs 01F kami 0FF del

Hitungan byte default dan yang didukung untuk karakter konversi adalah sebagai berikut:

% _c,% _p,% _u,% c

Satu byte hanya menghitung.

% d,% i,% o % u,% X,% x

Empat byte default, satu, dua dan empat jumlah byte didukung.

% E,% e,% f % G,% g

Delapan byte default, empat jumlah byte didukung.

Jumlah data yang diinterpretasikan oleh masing-masing string format adalah jumlah data yang dibutuhkan oleh setiap unit format, yang merupakan jumlah iterasi menghitung jumlah byte, atau iterasi menghitung jumlah byte yang diperlukan oleh format jika jumlah byte tidak ditentukan.

Input dimanipulasi dalam `` blok '', di mana blok didefinisikan sebagai jumlah data terbesar yang ditentukan oleh string format apa pun. Format string menginterpretasi kurang dari nilai data blok masukan, yang unit format terakhirnya menafsirkan beberapa jumlah byte dan tidak memiliki hitungan iterasi yang ditentukan, memiliki jumlah iterasi bertambah sampai seluruh blok input telah diproses atau tidak ada cukup data tersisa di blok untuk memenuhi string format.

Jika, baik sebagai hasil dari spesifikasi pengguna atau hexdump yang memodifikasi jumlah iterasi seperti yang dijelaskan di atas, jumlah iterasi lebih besar dari satu, tidak ada karakter spasi kosong yang dikeluarkan selama iterasi terakhir.

Ini adalah kesalahan untuk menentukan jumlah byte serta beberapa karakter atau string konversi kecuali semua kecuali satu dari karakter atau string konversi adalah _a atau _A

Jika, sebagai hasil dari spesifikasi opsi- n atau akhir-file yang dicapai, data input hanya sebagian memenuhi string format, blok input adalah cukup-empuk cukup untuk menampilkan semua data yang tersedia (yaitu setiap unit format tumpang tindih akhir data akan menampilkan sejumlah angka nol byte).

Output lebih lanjut dengan string format tersebut diganti dengan jumlah spasi yang setara. Jumlah spasi yang sama didefinisikan sebagai jumlah keluaran spasi dengan karakter konversi s dengan lebar bidang dan presisi yang sama dengan karakter konversi asli atau string konversi tetapi dengan `` + '' `` '' `` # '' karakter bendera konversi dihapus, dan referensi string NULL.

Jika tidak ada string format yang ditentukan, tampilan default setara dengan menentukan opsi - x .

keluar dari 0 pada sukses dan> 0 jika kesalahan terjadi.

CONTOH

Tampilkan input dalam format perusal:

"% 06.6_ao" 12/1 "% 3_u" "\ t \ t" "% _p" "\ n"

Menerapkan opsi -x:

"% 07.7_Ax \ n" "% 07.7_ax" 8/2 "% 04x" "\ n"

Standar

Utilitas ini diharapkan kompatibel dengan St -p1003.2.