GNU/Linux >> Belajar Linux >  >> Linux

Contoh Perintah OD Linux (Octal Dump)

Perintah od di Linux digunakan untuk menampilkan konten file dalam format berbeda dengan format oktal sebagai default.

Perintah ini sangat berguna saat men-debug skrip Linux untuk perubahan atau karakter yang tidak diinginkan.

Artikel ini menjelaskan cara menggunakan perintah od dengan beberapa contoh.

Sintaks dasar dari perintah ini adalah :

od [OPTION]... [FILE]...

1. Tampilkan konten file dalam format oktal menggunakan opsi -b

Berikut ini adalah file input yang digunakan untuk contoh ini:

$ cat input
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Sekarang jalankan perintah od pada file input ini.

$ od -b input
0000000 061 012 062 012 063 012 064 012 065 012 066 012 067 012 070 012
0000020 071 012 061 060 012 061 061 012 061 062 012 061 063 012 061 064
0000040 012 061 065 012 061 066 012 061 067 012 061 070 012 061 071 012
0000060 062 060 012
0000063

Jadi kita melihat output yang dihasilkan dalam format oktal. Kolom pertama dalam output od mewakili offset byte dalam file.

2. Tampilkan konten file dalam format karakter menggunakan opsi -c

Menggunakan file input yang sama (seperti pada contoh 1 di atas).

$ od -c input
0000000   1  \n   2  \n   3  \n   4  \n   5  \n   6  \n   7  \n   8  \n
0000020   9  \n   1   0  \n   1   1  \n   1   2  \n   1   3  \n   1   4
0000040  \n   1   5  \n   1   6  \n   1   7  \n   1   8  \n   1   9  \n
0000060   2   0  \n
0000063

Jadi kita melihat bahwa output dihasilkan dalam format karakter.

3. Tampilkan offset byte dalam format berbeda menggunakan opsi -A

Offset byte dapat ditampilkan dalam salah satu format berikut:

  • Heksadesimal (menggunakan -x bersama dengan -A)
  • Oktal (menggunakan -o bersama dengan -A)
  • Desimal (menggunakan -d bersama dengan -A)

Berikut ini adalah contoh offset dalam berbagai format :

$ od -Ax -c input
000000   1  \n   2  \n   3  \n   4  \n   5  \n   6  \n   7  \n   8  \n
000010   9  \n   1   0  \n   1   1  \n   1   2  \n   1   3  \n   1   4
000020  \n   1   5  \n   1   6  \n   1   7  \n   1   8  \n   1   9  \n
000030   2   0  \n
000033
$ od -Ad -c input
0000000   1  \n   2  \n   3  \n   4  \n   5  \n   6  \n   7  \n   8  \n
0000016   9  \n   1   0  \n   1   1  \n   1   2  \n   1   3  \n   1   4
0000032  \n   1   5  \n   1   6  \n   1   7  \n   1   8  \n   1   9  \n
0000048   2   0  \n
0000051
$ od -Ao -c input
0000000   1  \n   2  \n   3  \n   4  \n   5  \n   6  \n   7  \n   8  \n
0000020   9  \n   1   0  \n   1   1  \n   1   2  \n   1   3  \n   1   4
0000040  \n   1   5  \n   1   6  \n   1   7  \n   1   8  \n   1   9  \n
0000060   2   0  \n
0000063

Jadi kita melihat bahwa sesuai input yang diberikan ke opsi -A, kolom pertama (yang berisi byte offset) ditampilkan dalam format yang berbeda.

4. Tampilkan tidak ada informasi offset menggunakan opsi '-An'

Perhatikan contoh berikut :

$ od -An -c input
   1  \n   2  \n   3  \n   4  \n   5  \n   6  \n   7  \n   8  \n
   9  \n   1   0  \n   1   1  \n   1   2  \n   1   3  \n   1   4
  \n   1   5  \n   1   6  \n   1   7  \n   1   8  \n   1   9  \n
   2   0  \n

Jadi kami melihat bahwa informasi terkait offset byte tidak ditampilkan.

5. Tampilkan output setelah melewatkan beberapa byte

Ini dicapai dengan menggunakan opsi -j. Ini contohnya :

$ od -j9 -c input
0000011  \n   6  \n   7  \n   8  \n   9  \n   1   0  \n   1   1  \n   1
0000031   2  \n   1   3  \n   1   4  \n   1   5  \n   1   6  \n   1   7
0000051  \n   1   8  \n   1   9  \n   2   0  \n
0000063

Jika kita membandingkan output di atas dengan output pada contoh 2, kita dapat melihat bahwa 9 byte awal dilewati dari output.

6. Tampilkan byte terbatas dalam output menggunakan opsi -N

Ini adalah kebalikan dari opsi -j yang dibahas dalam contoh 5 di atas. Ini contohnya :

$ od -N9 -c input
0000000   1  \n   2  \n   3  \n   4  \n   5
0000011

Jadi kita melihat bahwa hanya 9 byte yang ditampilkan di output.

7. Tampilkan output sebagai bilangan bulat desimal menggunakan opsi -i

Perhatikan contoh berikut :

$ od -i input
0000000   171051569   171182643   171313717   171444791
0000020   808520249   170995978   822751793   875629107
0000040   171258122   822752817   942737975   171520266
0000060      667698
0000063

Jika kita menggabungkan -i dengan -b maka itu memberikan lebih banyak informasi tentang bagaimana bilangan bulat desimal ditampilkan. Ini contohnya :

$ od -ib input
0000000       171051569       171182643       171313717       171444791
        061 012 062 012 063 012 064 012 065 012 066 012 067 012 070 012
0000020       808520249       170995978       822751793       875629107
        071 012 061 060 012 061 061 012 061 062 012 061 063 012 061 064
0000040       171258122       822752817       942737975       171520266
        012 061 065 012 061 066 012 061 067 012 061 070 012 061 071 012
0000060          667698
        062 060 012
0000063

Jadi output di atas menunjukkan bagaimana output oktal ditampilkan sebagai output integer.

8. Tampilkan output sebagai unit 2 byte heksadesimal menggunakan opsi -x

Perhatikan contoh berikut :

$ od -x input
0000000 0a31 0a32 0a33 0a34 0a35 0a36 0a37 0a38
0000020 0a39 3031 310a 0a31 3231 310a 0a33 3431
0000040 310a 0a35 3631 310a 0a37 3831 310a 0a39
0000060 3032 000a
0000063

Jadi kita melihat bahwa output ditampilkan dalam satuan heksadesimal 2 byte.

9. Tampilkan konten sebagai dua unit oktal byte menggunakan opsi -o

Perhatikan contoh berikut :

$ od -o input
0000000 005061 005062 005063 005064 005065 005066 005067 005070
0000020 005071 030061 030412 005061 031061 030412 005063 032061
0000040 030412 005065 033061 030412 005067 034061 030412 005071
0000060 030062 000012
0000063

Perhatikan bahwa perintah od menampilkan output yang sama saat dijalankan tanpa opsi apa pun. Ini contohnya:

$ od  input
0000000 005061 005062 005063 005064 005065 005066 005067 005070
0000020 005071 030061 030412 005061 031061 030412 005063 032061
0000040 030412 005065 033061 030412 005067 034061 030412 005071
0000060 030062 000012
0000063

10. Sesuaikan lebar keluaran menggunakan opsi -w

Perhatikan contoh berikut :

$ od -w1 -c -Ad input
0000000   1
0000001  \n
0000002   2
0000003  \n
0000004   3
0000005  \n
0000006   4
0000007  \n
0000008   5
0000009  \n
0000010   6
0000011  \n
0000012   7
0000013  \n
0000014   8
0000015  \n
0000016   9
0000017  \n
0000018   1
0000019   0
0000020  \n
0000021   1
*
0000023  \n
0000024   1
0000025   2
0000026  \n
0000027   1
0000028   3
0000029  \n
0000030   1
0000031   4
0000032  \n
0000033   1
0000034   5
0000035  \n
0000036   1
0000037   6
0000038  \n
0000039   1
0000040   7
0000041  \n
0000042   1
0000043   8
0000044  \n
0000045   1
0000046   9
0000047  \n
0000048   2
0000049   0
0000050  \n
0000051

Jadi kita melihat bahwa lebar keluaran dikurangi menjadi 1 pada keluaran di atas.

11. Keluarkan duplikat menggunakan opsi -v

Seperti yang dapat diamati pada output dari contoh 10 di atas, a * dicetak. Hal ini dilakukan untuk menekan output dari baris yang sama atau duplikat. Tetapi melalui opsi -v, garis-garis ini juga dapat dicetak. Ini contohnya :

$ od -w1 -v -c -Ad input
0000000   1
0000001  \n
0000002   2
0000003  \n
0000004   3
0000005  \n
0000006   4
0000007  \n
0000008   5
0000009  \n
0000010   6
0000011  \n
0000012   7
0000013  \n
0000014   8
0000015  \n
0000016   9
0000017  \n
0000018   1
0000019   0
0000020  \n
0000021 1 
0000022 1
0000023  \n
0000024   1
0000025   2
0000026  \n
0000027   1
0000028   3
0000029  \n
0000030   1
0000031   4
0000032  \n
0000033   1
0000034   5
0000035  \n
0000036   1
0000037   6
0000038  \n
0000039   1
0000040   7
0000041  \n
0000042   1
0000043   8
0000044  \n
0000045   1
0000046   9
0000047  \n
0000048   2
0000049   0
0000050  \n
0000051

12. Terima masukan dari baris perintah menggunakan –

Perhatikan contoh berikut :

$ od -c -
The Geek Stuff0000000   T   h   e       G   e   e   k       S   t   u   f   f
0000016

Jadi kita melihat bahwa input pertama diberikan melalui stdin dan kemudian setelah menekan ctrl+d beberapa kali output perintah od ditampilkan.

13. Menampilkan karakter tersembunyi menggunakan perintah od

Perhatikan masukan berikut :

The Geek ^MStuff

Jika file yang berisi string di atas dicetak menggunakan perintah cat, akan terlihat output sebagai berikut:

 $ cat input
Stuffeek

Tetapi seperti yang Anda lihat, sebenarnya bukan isi file ini.

Sekarang mari kita gunakan perintah od dengan opsi -c di atas ini :

$ od -c input
0000000   T   h   e       G   e   e   k      \r   S   t   u   f   f  \n
0000020

Jadi perintah od dengan jelas menampilkan bahwa carriage return tanpa umpan baris dimasukkan di antara string karena output yang kacau ditampilkan oleh perintah cat.


Linux
  1. sa Contoh Perintah di Linux

  2. w Contoh Perintah di Linux

  3. Contoh Perintah ac di Linux

  1. 7 Contoh Perintah Linux df

  2. Contoh Perintah df di Linux

  3. du Contoh Perintah di Linux

  1. Perintah JQ di Linux dengan Contoh

  2. 8 Contoh Perintah Linux TR

  3. Contoh Perintah rm di Linux