轉載鏈接:http://blog.csdn.net/tiantang46800/article/details/6460567
ascii查詢方式,查看文件以ascii顯示,od命令
隨著計算機飛速的發展,很多人開始學習Linux,怎樣才能學好Linux,一定要學好Linux的命令。學習Linux,你可能會遇到Linux指令od的知識 ,這里將介紹Linux指令od應用方法。
Linux指令:od
示例用法:od -c hello
Linux指令:od
od命令
用戶通常使用od命令查看特殊格式的文件內容。通過指定該命令的不同選項可以以十進制、八進制、十六進制和ASCII碼來顯示文件。
語法:od [選項] 文件…
命令中各選項的含義:
- A 指定地址基數,包括:
d 十進制
o 八進制(系統默認值)
x 十六進制
n 不打印位移值
- t 指定數據的顯示格式,主要的參數有:
c ASCII字符或反斜杠序列
d 有符號十進制數
f 浮點數
o 八進制(系統默認值為02)
u 無符號十進制數
x 十六進制數
除了選項c以外的其他選項后面都可以跟一個十進制數n,指定每個顯示值所包含的字節數。
說明:od命令系統默認的顯示方式是八進制,這也是該命令的名稱由來(Octal
Dump)。但這不是最有用的顯示方式,用ASCII碼和十六進制組合的方式能提供更有價值的信息輸出。
例如:
- $?od?-?Ax?-?tcx1?wh5 ?注意:參數的順序od?-?Ax?-?txc1?wh5報錯
- 000000?F?i?l?e?s?y?s?t?e?m ?
- 46?69?6c?65?73?79?73?74?65?6d?20?20?20?20?20?20 ?
- 000010?1?k?-?b?l?o?c?k?s ?
- 20?20?20?20?20?31?6b?2d?62?6c?6f?63?6b?73?20?20 ?
- 000020?U?s?e?d?A?v?a?i?l?a?b ?
- 20?20?20?20?55?73?65?64?20?41?76?61?69?6c?61?62 ?
- 000030?l?e?U?s?e?%?M?o?u?n?t?e?d ?
- 6c?65?20?55?73?65?25?20?4d?6f?75?6e?74?65?64?20 ?
- ?
- ----?My?test?----- ?
- ysun@linetcps1dev:~>?cat?a ?
- hello,world. ?
- Joey. ?
- ysun@linetcps1dev:~>?od?-Ax?-tcx4?a ?
- 000000?h?e?l?l?o?,?w?o?r?l?d?.?/n?/t?J?o ?
- 6c6c6568?6f772c6f?2e646c72?6f4a090a ?
- 000010?e?y?.?/n?/n?/0?/0?/0 ?
- 0a2e7965?0000000a ?
- 000015?
od 和 hexdump
實用程序 od 和 hexdump 分別輸出文件或流的八進制、十六進制或其他編碼的字節。它們對于訪問或可視地檢查文件中不能直接顯示在終端上的字符很有用。
HERE 文檔
有一種特殊的重定向值得在本教程中提一下。雖然嚴格地講,HERE 文檔是諸如 bash 這樣的 shell
的特性,而不是與文本實用程序有關的任何東西,但是它們提供了向文本實用程序發送特殊數據的有用途徑。
雙小于號重定向可用于從終端接收偽文件的內容。HERE 文檔必須緊跟在 << 后面指定一個終止分隔符。
如:
- $?od?-c ??<<END??$?od?-c ??-?Ax?-?tcx1 <<END 這樣就可以像上面一樣顯示了
- >?Alice ?
- >?Bob ?
- >?END ?
- 0000000?A?l?i?c?e?/n?B?o?b?/n ?
- 0000012?
任何字符串都可以用作分隔符;輸入將在一行上遇到該字符串本身的地方終止。這樣為我們提供了創建持久性文件的快捷方法:
- $?cat?myfile?<<EOF?
- >?Dave ?
- >?Edna ?
- >?EOF ?
- $?hexdump?-C?myfile ?
- 00000000?44?61?76?65?0a?45?64?6e?61?0a?|Dave.Edna.| ?
- 0000000a?
這就是Linux指令od的知識。
編輯本段查詢ASCII技巧 方便查詢ASCII碼對應的字符:新建一個文本文檔,按住ALT+要查詢的碼值(注意,這里是十進制) 松開即可顯示出對應字符。例如:按住ALT+97,則會顯示出‘a’。
標準ASCII表
Bin | Dec | Hex | 縮寫/字符 | 解釋 |
00000000 | 0 | 00 | NUL(null) | 空字符 |
00000001 | 1 | 01 | SOH(start of headling) | 標題開始 |
00000010 | 2 | 02 | STX (start of text) | 正文開始 |
00000011 | 3 | 03 | ETX (end of text) | 正文結束 |
00000100 | 4 | 04 | EOT (end of transmission) | 傳輸結束 |
00000101 | 5 | 05 | ENQ (enquiry) | 請求 |
00000110 | 6 | 06 | ACK (acknowledge) | 收到通知 |
00000111 | 7 | 07 | BEL (bell) | 響鈴 |
00001000 | 8 | 08 | BS (backspace) | 退格 |
00001001 | 9 | 09 | HT (horizontal tab) | 水平制表符 |
00001010 | 10 | 0A | LF (NL line feed, new line) | 換行鍵 |
00001011 | 11 | 0B | VT (vertical tab) | 垂直制表符 |
00001100 | 12 | 0C | FF (NP form feed, new page) | 換頁鍵 |
00001101 | 13 | 0D | CR (carriage return) | 回車鍵 |
00001110 | 14 | 0E | SO (shift out) | 不用切換 |
00001111 | 15 | 0F | SI (shift in) | 啟用切換 |
00010000 | 16 | 10 | DLE (data link escape) | 數據鏈路轉義 |
00010001 | 17 | 11 | DC1 (device control 1) | 設備控制1 |
00010010 | 18 | 12 | DC2 (device control 2) | 設備控制2 |
00010011 | 19 | 13 | DC3 (device control 3) | 設備控制3 |
00010100 | 20 | 14 | DC4 (device control 4) | 設備控制4 |
00010101 | 21 | 15 | NAK (negative acknowledge) | 拒絕接收 |
00010110 | 22 | 16 | SYN (synchronous idle) | 同步空閑 |
00010111 | 23 | 17 | ETB (end of trans. block) | 傳輸塊結束 |
00011000 | 24 | 18 | CAN (cancel) | 取消 |
00011001 | 25 | 19 | EM (end of medium) | 介質中斷 |
00011010 | 26 | 1A | SUB (substitute) | 替補 |
00011011 | 27 | 1B | ESC (escape) | 溢出 |
00011100 | 28 | 1C | FS (file separator) | 文件分割符 |
00011101 | 29 | 1D | GS (group separator) | 分組符 |
00011110 | 30 | 1E | RS (record separator) | 記錄分離符 |
00011111 | 31 | 1F | US (unit separator) | 單元分隔符 |
00100000 | 32 | 20 | (space) | 空格 |
00100001 | 33 | 21 | ! | ? |
00100010 | 34 | 22 | " | ? |
00100011 | 35 | 23 | # | ? |
00100100 | 36 | 24 | $ | ? |
00100101 | 37 | 25 | % | ? |
00100110 | 38 | 26 | & | ? |
00100111 | 39 | 27 | ' | ? |
00101000 | 40 | 28 | ( | ? |
00101001 | 41 | 29 | ) | ? |
00101010 | 42 | 2A | * | ? |
00101011 | 43 | 2B | + | ? |
00101100 | 44 | 2C | , | ? |
00101101 | 45 | 2D | - | ? |
00101110 | 46 | 2E | . | ? |
00101111 | 47 | 2F | / | ? |
00110000 | 48 | 30 | 0 |