xxd
Ini adalah perintah xxd yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
xxd - buat hexdump atau lakukan sebaliknya.
RINGKASAN
xxd -Tolong]
xxd [opsi] [infile [outfile]]
xxd -r[evert] [opsi] [infile [outfile]]
DESKRIPSI
xxd membuat hex dump dari file tertentu atau input standar. Itu juga dapat mengonversi hex dump
kembali ke bentuk biner aslinya. Suka uuencode.dll(1) dan uudecode.dll(1) memungkinkan
transmisi data biner dalam representasi ASCII `mail-safe', tetapi memiliki keuntungan
decoding ke output standar. Selain itu, dapat digunakan untuk melakukan patching file biner.
PILIHAN
Jika tidak masuk diberikan, input standar dibaca. Jika masuk ditentukan sebagai `-' karakter,
kemudian input diambil dari input standar. Jika tidak file keluar diberikan (atau `-' karakter ada di
tempatnya), hasilnya dikirim ke output standar.
Perhatikan bahwa parser "malas" digunakan yang tidak memeriksa lebih dari opsi pertama
huruf, kecuali opsi diikuti oleh parameter. Spasi di antara satu opsi
huruf dan parameternya adalah opsional. Parameter untuk opsi dapat ditentukan dalam desimal,
notasi heksadesimal atau oktal. Dengan demikian -c8, -c 8, -c 010 dan -kol 8 semua setara.
-a | -lewati otomatis
toggle autoskip: Satu '*' menggantikan nul-lines. Tidak aktif.
-b | -bit
Beralih ke bit (digit biner) dump, bukan hexdump. Opsi ini menulis
oktet sebagai delapan digit "1" dan "0" alih-alih dump heksadesimal normal. Setiap
baris didahului oleh nomor baris dalam heksadesimal dan diikuti oleh ascii (atau
ebcdic) representasi. Baris perintah beralih -r, -p, -i tidak bekerja dengan ini
mode.
-c kerah | -kol kerah
formatkerah> oktet per baris. Default 16 (-i: 12, -ps: 30, -b: 6). Maks 256.
-E | -EBCDIC
Ubah pengkodean karakter di kolom sebelah kanan dari ASCII ke EBCDIC. Ini
tidak mengubah representasi heksadesimal. Pilihan tidak ada artinya di
kombinasi dengan -r, -p atau -i.
-e Beralih ke hexdump little-endian. Opsi ini memperlakukan grup byte sebagai kata dalam
urutan byte little-endian. Pengelompokan default 4 byte dapat diubah menggunakan -g.
Opsi ini hanya berlaku untuk hexdump, meninggalkan representasi ASCII (atau EBCDIC)
tidak berubah. Baris perintah beralih -r, -p, -i tidak bekerja dengan mode ini.
-g byte | -ukuran kelompok byte
pisahkan output dari setiapbyte> byte (dua karakter hex atau delapan bit-digit
masing-masing) dengan spasi. Menentukan -g 0 untuk menekan pengelompokan.Bytes> default ke 2
dalam mode biasa, 4 dalam mode little-endian dan 1 dalam mode bit. Pengelompokan tidak
berlaku untuk postscript atau menyertakan gaya.
-h | -bantu
cetak ringkasan perintah yang tersedia dan keluar. Tidak ada hex dumping yang dilakukan.
-i | -termasuk
output dalam C termasuk gaya file. Definisi array statis lengkap ditulis
(dinamai setelah file input), kecuali xxd membaca dari stdin.
-l len | -len len
berhenti setelah menulislen> oktet.
-o mengimbangi
Menambahkanmengimbangi> ke posisi file yang ditampilkan.
-p | -ps | -nota bene | -polos
output dalam gaya hexdump berkelanjutan postscript. Juga dikenal sebagai gaya hexdump polos.
-r | -kembali
operasi terbalik: ubah (atau tambal) hexdump menjadi biner. Jika tidak menulis ke
stdout, xxd menulis ke file outputnya tanpa memotongnya. Gunakan kombinasi
-r -p untuk membaca dump heksadesimal biasa tanpa informasi nomor baris dan tanpa a
tata letak kolom tertentu. Spasi tambahan dan jeda baris diperbolehkan
di mana saja.
-mencari mengimbangi
Saat digunakan setelah -r: kembali denganmengimbangi> ditambahkan ke posisi file yang ditemukan di hexdump.
-s [+][-]cari
dimulai darimencari> byte abs. (atau rel.) infile offset. + menunjukkan bahwa pencarian adalah
relatif terhadap posisi file stdin saat ini (tidak berarti ketika tidak membaca dari
stdin). - menunjukkan bahwa pencarian harus banyak karakter dari akhir
input (atau jika digabungkan dengan +: sebelum posisi file stdin saat ini). Tanpa
-s opsi, xxd dimulai pada posisi file saat ini.
-u menggunakan huruf besar hex. Default adalah huruf kecil.
-v | -versi
tampilkan string versi.
PERINGATAN
xxd -r memiliki beberapa keajaiban bawaan saat mengevaluasi informasi nomor baris. Jika keluaran
file dapat dicari, maka nomor linen di awal setiap baris hexdump mungkin keluar dari
urutan, garis mungkin hilang, atau tumpang tindih. Dalam kasus ini xxd akan mencari(2) ke yang berikutnya
posisi. Jika file output tidak dapat dicari, hanya celah yang diizinkan, yang akan diisi
oleh null-byte.
xxd -r tidak pernah menghasilkan kesalahan penguraian. Sampah diam-diam dilewati.
Saat mengedit hexdumps, harap perhatikan bahwa xxd -r melewatkan semua yang ada di baris input setelahnya
membaca cukup banyak kolom data heksadesimal (lihat opsi -c). Ini juga berarti, bahwa perubahan
ke kolom ascii (atau ebcdic) yang dapat dicetak selalu diabaikan. Mengembalikan dataran (atau
postscript) gaya hexdump dengan xxd -r -p tidak bergantung pada jumlah kolom yang benar.
Di sini segala sesuatu yang tampak seperti sepasang angka heksa diinterpretasikan.
Perhatikan perbedaan antara
% xxd -i fillet
dan
% xxd -i < fillet
xxd -s +mencari mungkin berbeda dari xxd -s mencari, sebagai mencari(2) digunakan untuk "memundurkan" input. A
'+' membuat perbedaan jika sumber input adalah stdin, dan jika posisi file stdin bukan
di awal file pada saat xxd dimulai dan diberi inputnya. Pengikut
contoh dapat membantu untuk memperjelas (atau lebih membingungkan!)...
Mundur stdin sebelum membaca; diperlukan karena `kucing' sudah membaca sampai akhir
stdin.
% sh -c "kucing > salinan_polos; xxd -s 0 > hex_copy" < fillet
Hexdump dari posisi file 0x480 (=1024+128) dan seterusnya. Tanda `+' berarti "relatif terhadap
posisi saat ini", sehingga `128' menambah 1k di mana dd tinggalkan.
% sh -c "DD dari=plain_snippet bs=1k hitung=1; xxd -s +128 > hex_snippet" < fillet
Hexdump dari posisi file 0x100 ( = 1024-768) aktif.
% sh -c "DD dari=plain_snippet bs=1k hitung=1; xxd -s + -768 > hex_snippet" < fillet
Namun, ini adalah situasi yang jarang terjadi dan penggunaan `+' jarang diperlukan. Penulis lebih suka
untuk memantau efek xxd dengan jejak(1) atau tiang penopang(1), kapan pun -s digunakan.
CONTOH
Cetak semuanya kecuali tiga baris pertama (hex 0x30 byte) dari fillet.
% xxd -s 0x30 fillet
Cetak 3 baris (hex 0x30 byte) dari akhir fillet.
% xxd -s -0x30 fillet
Cetak 120 byte sebagai hexdump berkelanjutan dengan 20 oktet per baris.
% xxd -l 120 -ps -c 20 xxd.1
2e54482058584420312022417567757374203139
39362220224d616e75616c207061676520666f72
20787864220a2e5c220a2e5c222032317374204d
617920313939360a2e5c22204d616e2070616765
20617574686f723a0a2e5c2220202020546f6e79
204e7567656e74203c746f6e79407363746e7567
Hexdump 120 byte pertama halaman manual ini dengan 12 oktet per baris.
% xxd -l 120 -c 12 xxd.1
0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A
000000c: 7567 7573 7420 3139 3936 2220 Agustus 1996"
0000018: 224d 616e 7561 6c20 7061 6765 "Halaman manual
0000024: 2066 6f72 2078 7864 220a 2e5c untuk xxd"..\
0000030: 220a 2e5c 2220 3231 7374 204d "..\" 21 M
000003c: 6179 2031 3939 360a 2e5c 2220 tahun 1996..\"
0000048: 4d61 6e20 7061 6765 2061 7574 Halaman manual otomatis
0000054: 686f 723a 0a2e 5c22 2020 2020 hor:..\"
0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent
000006c: 3c74 6f6e 7940 7363 746e 7567
Tampilkan hanya tanggal dari file xxd.1
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3231 7374 204d 6179 2031 3939 36 21 Mei 1996
Copy masukan_file untuk berkas keluaran dan tambahkan 100 byte dengan nilai 0x00.
% xxd masukan_file | xxd -r -s 100 > berkas keluaran
Patch tanggal di file xxd.1
% gema "0000037: 3574 68 " | xxd -r - xxd.1
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3235 7468 204d 6179 2031 3939 36 25 Mei 1996
Buat file 65537 byte dengan semua byte 0x00, kecuali yang terakhir adalah 'A' (hex
0x41).
% gema "010000: 41 " | xxd -r > fillet
Hexdump file ini dengan autoskip.
% xxd -a -c 12 fillet
0000000: 0000 0000 0000 0000 0000 0000............
*
000fffc: 0000 0000 40 ....A
Buat file 1 byte yang berisi satu karakter 'A'. Angka setelah '-r -s' ditambahkan ke
nomor linen yang ditemukan dalam file; pada dasarnya, byte terdepan ditekan.
% gema "010000: 41 " | xxd -r -s -0x10000 > fillet
Gunakan xxd sebagai filter dalam editor seperti semangat(1) untuk hexdump wilayah yang ditandai antara `a'
dan 'z'.
:'a,'z!xxd
Gunakan xxd sebagai filter dalam editor seperti semangat(1) untuk memulihkan hexdump biner yang ditandai
antara `a' dan `z'.
:'a,'z!xxd -r
Gunakan xxd sebagai filter dalam editor seperti semangat(1) untuk memulihkan satu baris hexdump.
Pindahkan kursor ke atas garis dan ketik:
!! xxd -r
Baca karakter tunggal dari baris serial
% xxd -c1 < /dev/istilah/b &
% sty < /dev/istilah/b -gema -opost -isi -icanon menit 1
% gema -n foo > /dev/istilah/b
KEMBALI NILAI
Nilai kesalahan berikut dikembalikan:
0 tidak ada kesalahan yang ditemukan.
-1 operasi tidak didukung ( xxd -r -i masih mustahil).
1 kesalahan saat mengurai opsi.
2 masalah dengan file masukan.
3 masalah dengan file keluaran.
4,5 posisi seek yang diinginkan tidak dapat dijangkau.
Gunakan xxd online menggunakan layanan onworks.net