Linux od與hexdump命令
od命令:以指定格式輸出文件內容
常用格式:od -Ax -tx1 filename
直接格式:od filename 等價 od -o filename
語法:od [-abcdfsiloxv] [-An] [-jn] [-Nn] [-tn] [-wn] [--help] [--version] [file] #其中-A,-j,-N,-t後面可以加空格再接n,即-A n,-j n,-N n,-t n,而-w後面必須直接接n。
-A:指定地址偏移量的進制格式,d,o,x,n,十進制,八進制,十六進制,不打印地址偏移,默認八進制
-j:跳過n個字節
-N:限制讀入,只從文件讀入前n個字節
-t:輸出格式,a,c,d[n],f[n],o[n],u[n],x[n],ASCII碼(特殊字符用縮寫表示),ASCII碼(特殊字符用轉義字符方式表示),有符號十進制整數(每個整數n字節),浮點數,八進制,無符號十進制整數,十六進制
-a:等價-t a
-b:等價-t o1
-c:等價-t c
-d:等價-t u2
-f:等價-t fF
-i:等價-t dI
-l:等價-t dL
-o:等價-t o2
-s:等價-t d2
-x:等價-t x2
-v:不使用*標記重復行(默認,如果輸出的連續幾行相同,從第二行開始的重復行用*標記)
PS:-tn中對於n為d,o,u,x有C=sizeof(char),S=sizeof(short),I=sizeof(int),L=sizeof(long),對於n為f,有F=sizeof(float),D=sizeof(double),L=sizeof(long double)
PS:可是使用管道符將數據傳給od,例如echo ABCD|od -Ax -tx1
PS:od實現多種顯示格式同時輸出(高級用法),如:
[[email protected] ~]# echo ABCD|od -td1 -tc
0000000 65 66 67 68 10
A B C D \n
0000005
可簡寫為:
[[email protected] ~]# echo ABCD|od -td1c
0000000 65 66 67 68 10
A B C D \n
0000005
或:
[[email protected] ~]# echo ABCD|od -tdCc
A B C D \n
0000005
也可以更多的不同顯示格式同時輸出:
[[email protected] ~]# echo ABCD|od -tdCx1c #亦-t dC -tx1 -tc
0000000 65 66 67 68 10
41 42 43 44 0a
A B C D \n
0000005
hexdump命令:以十六進制方式顯示文件內容
語法:hexdump [-Cbcdox] [-sn] [-nLength] [-e string] [file]
常用格式:hexdump -C filename
直接格式:hexdump filename 等價 hexdump -x filename
-nLength:等價od的-N
-C:同時輸出十六進制和ASCII碼(特殊字符用.表示)
-b:單字節八進制顯示,等價od的-to1
-c:ASCII碼顯示(特殊字符使用轉義字符方式顯示),等價od的-tc1
-d:雙字節十進制顯示,等價od的-td2
-o:雙字節八進制顯示,等價od的-to2
-x:雙字節十六進制顯示,等價od的-tx2
-sn:從偏移量n開始輸出
-e string:指定格式字符串,略
Linux od與hexdump命令