Linux od命令詳細(xì)介紹及用法實(shí)例
Linux od命令詳解
1.功能
od命令用于將指定文件內(nèi)容以八進(jìn)制、十進(jìn)制、十六進(jìn)制、浮點(diǎn)格式或ASCII編碼字符方式顯示,通常用于顯示或查看文件中不能直接顯示在終端的字符。od命令系統(tǒng)默認(rèn)的顯示方式是八進(jìn)制,名稱源于Octal Dump。
常見(jiàn)的文件為文本文件和二進(jìn)制文件。od命令主要用來(lái)查看保存在二進(jìn)制文件中的值,按照指定格式解釋文件中的數(shù)據(jù)并輸出,不管是IEEE754格式的浮點(diǎn)數(shù)還是ASCII碼,od命令都能按照需求輸出它們的值。
大家也可以了解一下hexdump命令,以十六進(jìn)制輸出,但感覺(jué)hexdump命令美譽(yù)od命令強(qiáng)大。
2.命令格式
od [<選項(xiàng)><參數(shù)>] [<文件名>]
3.命令選項(xiàng)
A<RADIX>,--address-radix=RADIX:選擇以何種基數(shù)表示地址偏移; -j<BYTES>,--skip-bytes=BYTES:跳過(guò)指定數(shù)目的字節(jié); -N,--read-bytes=BYTES:輸出指定字節(jié)數(shù); -S<BYTES>, --strings[=BYTES]:輸出長(zhǎng)度不小于指定字節(jié)數(shù)的字符串; -v,--output-duplicates:輸出時(shí)不省略重復(fù)的數(shù)據(jù); -w<BYTES>,--width=<BYTES>:設(shè)置每行顯示的字節(jié)數(shù),od默認(rèn)每行顯示16字節(jié)。如果選項(xiàng)--width不跟數(shù)字,默認(rèn)顯示32字節(jié); -t<TYPE>,--format=TYPE:指定輸出格式,格式包括a、c、d、f、o、u和x,各含義如下: a:具名字符; c:ASCII字符或者反斜杠; d[SIZE]:十進(jìn)制,正負(fù)數(shù)都包含,SIZE字節(jié)組成一個(gè)十進(jìn)制整數(shù); f[SIZE]:浮點(diǎn),SIZE字節(jié)組成一個(gè)浮點(diǎn)數(shù); o[SIZE]:八進(jìn)制,SIZE字節(jié)組成一個(gè)八進(jìn)制數(shù); u[SIZE]:無(wú)符號(hào)十進(jìn)制,只包含正數(shù),SIZE字節(jié)組成一個(gè)無(wú)符號(hào)十進(jìn)制整數(shù); x[SIZE]:十六進(jìn)制,SIZE字節(jié)為單位以十六進(jìn)制輸出,即輸出時(shí)一列包含SIZE字節(jié)。 --help:在線幫助; --version:顯示版本信息。
4.用法示例
(1)設(shè)置第一列偏移地址以十進(jìn)制顯示。
od -Ad testfile
偏移地址顯示基數(shù)有:d for decimal, o for octal, x for hexadecimal or n for none。
(2)od命令不顯示第一列偏移地址。
od -An testfile
(3)以十六進(jìn)制輸出,默認(rèn)以四字節(jié)為一組(一列)顯示。
od -tx testfile
(4)以十六進(jìn)制輸出,每列輸出一字節(jié)。
od -tx1 testfile
(5)顯示ASCII字符和ASCII字符名稱,注意換行符顯示方式的區(qū)別。
#顯示ASCII字符 [b3335@localhost]$ echo lvlv|od -a 0000000 l v l v nl 0000005 #顯示ASCII字符名稱 [b3335@localhost]$ echo lvlv|od -tc 0000000 l v l v \n 0000005
(6)以十六進(jìn)制顯示的同時(shí)顯示原字符。
[b3335@localhost]$ echo lvlv|od -tcx1 0000000 l v l v \n 6c 76 6c 76 0a 0000005
(7)指定每行顯示512字節(jié)。
od -w512 -tx1 testfile
(8)od命令輸出時(shí)去除列與列之間的空格符。
當(dāng)我們需要將文件內(nèi)容顯示為十六進(jìn)制,需要輸出連續(xù)的單個(gè)字節(jié),每個(gè)字節(jié)以十六進(jìn)制顯示。這時(shí)我們可以通過(guò)od命令將文件以單個(gè)字節(jié)為一組,十六進(jìn)制輸出在同一行,并去除每個(gè)字節(jié)之間的空格。目前還不知道怎么通過(guò)指定od命令的相關(guān)選項(xiàng)去除列與列之間的空格,也許od命令本身并不支持。我的做法是:
(8.1)使用-An不輸出偏移地址;
(8.2)使用-v輸出時(shí)不省略重復(fù)的數(shù)據(jù);
(8.3)使用-tx1以單個(gè)字節(jié)為一組按照十六進(jìn)制輸出,-w1每列輸出一個(gè)字節(jié);
(8.4)最后通過(guò)管道傳遞給awk的標(biāo)準(zhǔn)輸入,通過(guò)awk不換行輸出所有行,拼接為一行輸出。
具體命令如下:
od -An -w1 -tx1 testfile|awk '{for(i=1;i<=NF;++i){printf "%s",$i}}'
參考文獻(xiàn)
[1]od幫助文檔
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Linux中的info指令詳解
- linux下mysql的root密碼忘記的解決方法
- linux二進(jìn)制通用包安裝mysql5.6.20教程
- 微信小程序 Linux開(kāi)發(fā)環(huán)境設(shè)置詳解
- linux下判斷文件和目錄是否存在的方法(總結(jié))
- 關(guān)于Linux下對(duì)于makefile的理解
- Linux下簡(jiǎn)易進(jìn)度條的實(shí)現(xiàn)代碼
- Linux虛擬機(jī)下mysql 5.7安裝配置方法圖文教程
- linux系統(tǒng)下oracle11gR2靜默安裝的經(jīng)驗(yàn)分享
- Linux xargs命令詳細(xì)介紹
- Linux 常用命令掛載命令詳解
相關(guān)文章
Linux中MongoDB如何實(shí)現(xiàn)遠(yuǎn)程自動(dòng)備份詳解
這篇文章主要給大家介紹了關(guān)于Linux中MongoDB如何實(shí)現(xiàn)遠(yuǎn)程自動(dòng)備份的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09CentOS系統(tǒng)下Apache配置多域名或多端口映射的方法
我們大多情況是一臺(tái)服務(wù)器一個(gè)IP,這樣配置起來(lái)很簡(jiǎn)單,但是如何想多域名多端口映射的話就沒(méi)那么簡(jiǎn)單了,下面這篇文章主要介紹了CentOS系統(tǒng)下Apache配置多域名或多端口映射的方法,需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。2016-12-12Apache tika 實(shí)現(xiàn)各種文檔內(nèi)容解析示例代碼
這篇文章主要介紹了Apache tika 實(shí)現(xiàn)各種文檔內(nèi)容解析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07實(shí)例分析對(duì)于歷史Linux鏡像的問(wèn)題進(jìn)行修復(fù)處理
在本篇內(nèi)容中我們給大家總結(jié)了關(guān)于對(duì)于歷史Linux鏡像的問(wèn)題進(jìn)行修復(fù)處理知識(shí)點(diǎn),有需要的朋友們跟著學(xué)習(xí)下。2019-02-02跨域請(qǐng)求 Apache 服務(wù)器配置的方法
這篇文章主要介紹了跨域請(qǐng)求 Apache 服務(wù)器配置的方法,包括修改服務(wù)器配置文件的方法和如何編輯httpd.conf。接下來(lái),通過(guò)本文給大家重點(diǎn)講解,需要的朋友參考下吧2017-01-01linux使用tcpdump命令監(jiān)視指定網(wǎng)絡(luò)數(shù)據(jù)包的方法
linux使用tcpdump命令監(jiān)視指定網(wǎng)絡(luò)數(shù)據(jù)包的方法,大家參考使用吧2013-12-12在Linux中如何查看可用的網(wǎng)絡(luò)接口詳解
這篇文章主要給大家介紹了關(guān)于在Linux中如何查看可用的網(wǎng)絡(luò)接口的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03