GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Perintah Linux xxd untuk Pemula (dengan Contoh)

Butuh hex dump untuk file teks? Mencari utilitas baris perintah yang dapat melakukan ini? Nah, Anda beruntung, karena ada perintah yang dijuluki xxd yang dapat melakukan ini untuk Anda. Dalam tutorial ini, kita akan membahas xxd menggunakan beberapa contoh yang mudah dimengerti. Namun sebelum kita melakukannya, perlu disebutkan bahwa semua contoh di sini telah diuji pada mesin Ubuntu 18.04 LTS.

Untuk apa perintah Linux xxd digunakan?

Perintah xxd di Linux memungkinkan Anda membuat hexdump atau bahkan melakukan sebaliknya. Berikut sintaksnya:

xxd [OPTIONS] [file]

Dan inilah cara halaman manual alat menjelaskannya:

xxd  membuat  hex dump dari file atau input standar tertentu. Itu juga dapat mengubah hex dump kembali ke bentuk biner aslinya. Seperti
uuencode(1) dan uudecode(1), ini memungkinkan transmisi data biner dalam representasi ASCII `mail-safe', tetapi memiliki keuntungan
mendekode ke keluaran standar. Selain itu, dapat digunakan untuk melakukan patching file biner.

Berikut adalah beberapa contoh gaya T&J yang akan memberi Anda gambaran yang lebih baik tentang cara kerja xxd.

Q1. Bagaimana cara menggunakan perintah xxd?

Itu mudah. Misalnya, Anda memiliki file teks 'test.txt' dengan konten seperti yang ditunjukkan di bawah ini:

Tidak.|Negara|Ya/Tidak
01|India|Y
02|AS|Y
03|Australia|Y

04|China| T
05|Rusia|Y
06|Jepang|Y

07|Singapura|Y
08|Korea Selatan|T
09|Finlandia| T
10|Irlandia|T

Berikut cara menggunakan xxd untuk mengonversi konten file menjadi hex:

xxd test.txt

Dan inilah hasilnya:

00000000:4e6f 2e7c 436f 756e 7472 797c 5965 732f  Tidak.|Negara|Ya/
00000010:4e6f 0a30 317c 496e 6469 617c 590a 3032  No.01|India|Y.02
00000020:7c55 537c 590a 3033 7c41 7573 7472 616c  |US|Y.03|Austral
00000030:6961 7c59 0a0a 3034 7c43 6869 6e61 7c4e  ia|Y..04|China|N
00000040:0a30 357c 5275 7373 6961 7c59 0a30 367c  .05|Rusia|Y.06|
00000050:4a61 7061 6e7c 590a 0a30 377c 5369 6e67  Jepang|Y..07|Nyanyikan
00000060:7061 6f72 657c 590a 3038 7c53 6f75 7468  paore| Y.08|Selatan
00000070:204b 6f72 6561 7c4e 0a30 397c 4669 6e61   Korea|N.09|Fina
00000080:6c61 6e64 7c59 0a31 307c 4972 656c 616e  land|Y.10|Irelan
00000090:647c 590a                            d|Y.

Q2. Bagaimana cara melewati beberapa baris dengan xxd?

Misalkan Anda tidak ingin hex dump dari file lengkap. Sebagai gantinya, Anda ingin alat mulai mengonversi dari baris tertentu. Maka ini dapat dicapai dengan menggunakan perintah -s.

Misalnya, jika Anda ingin xxd menghasilkan hex dump dari baris 3 dan seterusnya, berikut ini cara Anda memberi tahu xxd untuk melakukannya:

xxd -s 0x30 test.txt

Berikut output yang dihasilkan:

00000030:6961 7c59 0a0a 3034 7c43 6869 6e61 7c4e  ia|Y..04|China|N
00000040:0a30 357c 5275 7373 6961 7c59 0a30 367c  .05|Rusia|Y.06|
00000050:4a61 7061 6e7c 590a 0a30 377c 5369 6e67  Jepang|Y..07|Bernyanyi
00000060:7061 6f72 657c 590a 3038 7c53 6f75 7468  paore|Y.08|Selatan
00000070:204b 6f72 0 6561 7c4e 0 6561 7c4e 397c 4669 6e61   Korea|N.09|Fina
00000080:6c61 6e64 7c59 0a31 307c 4972 656c 616e  tanah|Y.10|Irlandia
00000090:647c 590a                                   

Jadi Anda dapat melihat hex dump diproduksi baris 3 dan seterusnya dalam kasus ini.

Q3. Bagaimana cara membatasi keluaran xxd ke panjang tertentu?

Di bagian sebelumnya, kami membahas cara membuat xxd mulai mengonversi dari titik tertentu. Tetapi ada juga cara untuk membatasi konversinya ke titik tertentu. Ini dapat dilakukan dengan menggunakan opsi baris perintah -l.

Misalnya, untuk memastikan xxd membuat dump hanya untuk tiga baris pertama test.txt, gunakan dengan cara berikut:

xxd -l 0x30 test.txt

Berikut output yang dihasilkan:

00000000:4e6f 2e7c 436f 756e 7472 797c 5965 732f  Tidak.|Negara|Ya/
00000010:4e6f 0a30 317c 496e 6469 617c 590a 3032  No.01|India|Y.02
00000020:7c55 537c 590a 3033 7c41 7573 7472 616c  |US|Y.03|Austral

Q4. Bagaimana cara mengatur panjang kolom?

Jika Anda ingin xxd menghasilkan lebih sedikit atau lebih banyak kolom dalam output, gunakan opsi -c dan tentukan jumlah kolom di sana. Berikut adalah contoh perintah menggunakan opsi ini:

xxd -c 5 test.txt

Dan inilah hasilnya:

00000000:4e6f 2e7c 43  Tidak.|C
00000005:6f75 6e74 72  ountr
0000000a:797c 5965 73  y|Ya
0000000f:2f4e 6f0a 30  /No.0
00000014:317c 496e 64  1|Ind
00000019:6961 7c59 0a  ia|Y.
0000001e:3032 7c55 53  02|AS
00000023:7c59 0a30 33  |Y.03
00000028:7c41 7573 74  |Aust
0000002d:7261 6c69 61  ralia
00000032:7c59 0a0a 30  |Y..0
00000037:347c 4368 69  4|Chi
0000003c:6e61 7c4e 0a  na|N.
00000041:3035 7c52 75  05|Ru
00000046:7373 6961 7c  ssia|
0000004b:590a 3036 7c  Y.06|
00000050:4a61 7061 6e  Jepang
00000055:7c59 0a0a 30  |Y..0
0000005a:377c 5369 6e  7|Sin
0000005f:6770 616f 72  gpaor
00000064:657c 590a 30  e| Y.0
00000069:387c 536f 75  8|Sou
0000006e:7468 204b 6f  th Ko
00000073:7265 617c 4e  rea|N
00000078:0a30 397c 46  .09| F
0000007d:696e 616c 61  inala
00000082:6e64 7c59 0a  nd|Y.
00000087:3130 7c49 72  10|Ir
0000008c:656c 616e 64  eland
00000091:7c59 0a      |Y.

Jadi Anda dapat melihat hanya 5 kolom yang dihasilkan dalam output.

Q5. Bagaimana cara membuat xxd menghasilkan dump biner?

Ya, ini juga mungkin. Opsi baris perintah -b membuat xxd menghasilkan dump dalam digit biner. Inilah yang dikatakan halaman manual tentang alat ini:

-b | -bits
Beralih ke bit (digit biner) dump, bukan hexdump. Opsi ini menulis oktet sebagai delapan digit "1" dan  "0" sebagai pengganti
dari dump heksadesimal normal. Setiap baris didahului dengan nomor baris dalam heksadesimal dan diikuti dengan representasi ascii (atau ebcdic). Baris perintah mengganti -r, -p, -i tidak bekerja dengan mode ini.

Ini contohnya:

Kesimpulan

Jadi Anda bisa lihat, perintah xxd berguna jika Anda berurusan dengan konten file hex dan biner. Di sini, dalam tutorial ini, kita baru saja membahas beberapa opsi dasar yang ditawarkan xxd. Setelah Anda selesai mempraktikkannya, buka halaman manual alat untuk mempelajarinya lebih lanjut.


Linux
  1. Linux memperluas Tutorial Perintah Untuk Pemula (dengan Contoh)

  2. Tutorial perintah faktor Linux untuk pemula (dengan contoh)

  3. Linux ya Tutorial Perintah untuk Pemula (dengan Contoh)

  1. Tutorial Perintah Pengguna Linux untuk Pemula (dengan Contoh)

  2. Tutorial Perintah penjumlahan Linux untuk Pemula (dengan Contoh)

  3. Tutorial Perintah tidur Linux untuk Pemula (dengan Contoh)

  1. Tutorial Perintah Linux nproc untuk Pemula (dengan Contoh)

  2. Tutorial Perintah Linux tac untuk Pemula (dengan Contoh)

  3. Tutorial Perintah nama dasar Linux untuk Pemula (dengan Contoh)