od(octal dump)主要是用來將資料轉成可讀的格式(human-readable formats),預設顯示格式如同名稱,顯示8進位資料,顯示格式包含8/10/16進位,以及ASCII顯示格式。
brook@vista:~$ echo abc| od 0000000 061141 005143 0000004 brook@vista:~$ echo abc| od -o 0000000 061141 005143 0000004 brook@vista:~$ echo abc| od -d 0000000 25185 2659 0000004 jpr@jpr-Veriton-M4610:~$ echo abc| od -h 0000000 6261 0a63 0000004 brook@vista:~$ echo abc| od -c 0000000 a b c \n 0000004 brook@vista:~$ echo abc| od -b 0000000 141 142 143 012 0000004 brook@vista:~$ echo abc| od -i 0000000 174285409 0000004 jpr@jpr-Veriton-M4610:~$ echo abc| od -l 0000000 174285409 0000004 brook@vista:~$ echo abc| od -s 0000000 25185 2659 0000004 brook@vista:~$ echo abc| od -x 0000000 6261 0a63 0000004"a"的ascii值為,8/10/16進位值為97/61/141,所以有看到沒有參數和"-o"顯示一樣的內容,061141的10/16進位值為25185/H6261,看得出是一次顯示兩個byte,-b則是顯示一個byte,-h/-x一次顯示兩個byte的16進位,-d和-s一樣一次顯示兩個byte的10進位。
再來下面的例子是顯示address/offset的格式"-A",可以搭配"oxnd",o是8進位,d是10進位,d是16進位,n是不顯示address/offset。
brook@vista:~$ od -Ad sleep.sh 0000000 1647255843 1932488297 1752631912 543517801 0000016 1920213083 1562404213 1868827195 1819478282 0000032 544236901 1695091249 544172131 1701606183 0000048 824209509 660825459 1852793866 168442725 0000064 brook@vista:~$ od -Ao sleep.sh 0000000 1647255843 1932488297 1752631912 543517801 0000020 1920213083 1562404213 1868827195 1819478282 0000040 544236901 1695091249 544172131 1701606183 0000060 824209509 660825459 1852793866 168442725 0000100 brook@vista:~$ od -Ax sleep.sh 000000 1647255843 1932488297 1752631912 543517801 000010 1920213083 1562404213 1868827195 1819478282 000020 544236901 1695091249 544172131 1701606183 000030 824209509 660825459 1852793866 168442725 000040 brook@vista:~$ od -An sleep.sh 1647255843 1932488297 1752631912 543517801 1920213083 1562404213 1868827195 1819478282 544236901 1695091249 544172131 1701606183 824209509 660825459 1852793866 168442725
其餘參數包含"-N"讀幾個byte,與"-j"offset幾個byte,"-t"輸出格式顯示方式,"-t"可以搭配dfoux,後面再搭配數字,以一次幾個byte顯示。如
brook@vista:~$ od -An -N6 -t x1 sleep.sh 23 21 2f 62 69 6e brook@vista:~$ od -An -N6 -t x2 sleep.sh 2123 622f 6e69 brook@vista:~$ od -An -N6 -t x4 sleep.sh 622f2123 00006e69
我常拿od來產生random MAC,
brook@vista:~$ od -An -N6 -t x1 sleep.sh | tr ' ' ':' | cut -d':' -f2-7 23:21:2f:62:69:6e