」十六「進製檢視器

2022-09-10 21:48:27 字數 4013 閱讀 3488

hexdump命令一般用來檢視」二進位制「檔案的十六進製制編碼,但實際上它的用途不止如此,手冊頁上的說法是「ascii, decimal, hexadecimal, octal dump「,而且它能檢視任何檔案,而不只限於二進位制檔案了。

規範的十六進製制和ascii碼顯示(canonical hex+ascii display)

root@new55 ~]# echo /etc/passwd | hexdump -c

00000000 2f 65

7463 2f 70

6173

7377

64 0a |/etc/passwd.|0000000c

單位元組八進位制顯示(one-byte octal display) 

[root@new55 ~]# echo /etc/passwd | hexdump -b 

0000000

057145

164143

057160

141163

163167

144012

000000c

單位元組字元顯示(one-byte character display) 

0000000   /   e   t   c   /   p   a   s   s   w

d \n

000000c

雙位元組十進位制顯示(two-byte decimal display) 

[root@new55 ~]# echo /etc/passwd | hexdump -d

0000000

25903

25460

28719

29537

30579

02660

000000c

雙位元組八進位制顯示(two-byte octal display) 

[root@new55 ~]# echo /etc/passwd | hexdump -o       

0000000

062457

061564

070057

071541

073563

005144

000000c

雙位元組十六進製制顯示(two-byte hexadecimal display) 

[root@new55 ~]# echo /etc/passwd | hexdump -x

0000000 652f 6374 702f 7361

7773

0a64

000000c

[root@new55 ~]# echo /etc/passwd | hexdump -v 

0000000 652f 6374 702f 7361

7773

0a64

000000c

[root@www ~]# od [-t type] 檔案

選項或引數:

-t :後面可以接各種『型別 (type)』的輸出,例如:

a :利用預設的位元組來輸出;

c :使用 ascii 位元組來輸出

d[size] :利用十進位(

decimal

)來輸出資料,每個整數占用 size bytes ;

f[size] :利用浮點數值(floating)來輸出資料,每個數占用 size bytes ;

o[size] :利用八進位(octal)來輸出資料,每個整數占用 size bytes ;

x[size] :利用十六進製(hexadecimal)來輸出資料,每個整數占用 size bytes ;

請將/usr/bin/passwd的內容使用ascii方式來展現

[root@www ~]# od -t c /usr/bin/passwd

0000000

177 e l f 001

001001 \0 \0 \0 \0 \0 \0 \0 \0 \0

0000020

002 \0

003 \0

001 \0 \0 \0

260225

004 \b 4 \0 \0 \0

0000040

020 e \0 \0 \0 \0 \0 \0

4 \0 \0 \a \0 ( \0

0000060

035 \0

034 \0

006 \0 \0 \0

4 \0 \0 \0

4200

004\b

0000100

4200

004 \b 340 \0 \0 \0

340 \0 \0 \0

005 \0 \0 \0

.....(後面省略)....

# 最左邊第一欄是以

8進製來表示bytes數。以上面範例來說,第二欄0000020代表開頭是

# 第

16 個 byes (2x8) 的內容之意。

請將/etc/issue這個檔案的內容以8進製列出儲存值與ascii的對照表

[root@www ~]# od -t occ /etc/issue

0000000

103145

156164

117123

040162

145154

145141

163145

040065

c e n t o s r e l e a s e

50000020

056062

040050

106151

156141

154051

012113

145162

156145

.

2( f i n a l ) \n k e r n e

0000040

154040

134162

040157

156040

141156

040134

155012

012l \ r o n a n \ m \n \n

0000057

# 如上所示,可以發現每個位元組可以對應到的數值為何!

# 例如e對應的記錄數值為145,轉成十進位:1x8^2+4x8+5=101。

利用這個命令,可以將 data file 或者是 binary file 的內容資料給他讀出來喔! 雖然讀出的來數值預設是使用非文字檔,亦即是 16 進製的數值來顯示的, 不過,我們還是可以透過 -t c 的選項與引數來將資料內的位元組以 ascii 型別的位元組來顯示, 雖然對於一般使用者來說,這個命令的用處可能不大,但是對於工程師來說, 這個命令可以將 binary file 的內容作乙個大致的輸出,他們可以看得出東西的啦~ ^_^

如果對純文字檔使用這個命令,你甚至可以發現到 ascii 與位元組的對照表!

備註:利用這個命令,可以將 data file 或者是 binary file 的內容資料給他讀出來喔! 雖然讀出的來數值預設是使用非文字檔,亦即是 16 進製的數值來顯示的, 不過,我們還是可以透過 -t c 的選項與引數來將資料內的位元組以 ascii 型別的位元組來顯示, 雖然對於一般使用者來說,這個命令的用處可能不大,但是對於工程師來說, 這個命令可以將 binary file 的內容作乙個大致的輸出,他們可以看得出東西的啦~ ^_^

如果對純文字檔使用這個命令,你甚至可以發現到 ascii 與位元組的對照表!

參考 

mysql事件檢視器 MYSQL事件檢視器使用介紹

要檢視當前是否已開啟事件排程器 show variables like event scheduler 開啟事件檢視器 set global event scheduler 1 建立事件 語法 create event if not exists event name on schedule sch...

檔案檢視器

上節課中學習了如何載入乙個網路,這節課接著上節課的 來寫乙個引導程式。首先,可以重用上節課中的載入的 新新增的東西就是,乙個button,乙個text文字標籤,乙個filedialog檔案對話方塊。具體 如下 import qtquick 2.2 import qtquick.window 2.1 ...

檔案檢視器

linux上的檔案操作是真的不會,c語言裡靜態變數的用法也不清楚,全是參考學長的部落格,學到了好多 include include include include include define maxsize 100 using namespace std void showdirstructure...