<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          學習一個 Linux 命令:od 命令

          共 2939字,需瀏覽 6分鐘

           ·

          2021-03-15 07:45


          轉自:戀貓大鯉魚

          鏈接:https://dablelv.blog.csdn.net/article/details/54177989

          1.功能簡介

          od(Octal Dump)命令用于將指定文件內容以八進制、十進制、十六進制、浮點格式或 ASCII 編碼字符方式顯示,通常用于顯示或查看文件中不能直接顯示在終端的字符。od 命令系統(tǒng)默認的顯示方式是八進制。

          常見的文件為文本文件和二進制文件。od 命令主要用來查看保存在二進制文件中的值,按照指定格式解釋文件中的數據并輸出,不管是 IEEE754 格式的浮點數還是 ASCII 碼,od 命令都能按照需求輸出它們的值。

          大家也可以了解一下 hexdump 命令,以十六進制輸出,但感覺 hexdump 命令沒有 od 命令強大。

          2.命令格式

          od [OPTION]... [FILE]...

          3.選項說明

          -A RADIX
          --address-radix=RADIX
           選擇以何種基數表示地址偏移
          -j BYTES
          --skip-bytes=BYTES
           跳過指定數目的字節(jié)
          -N BYTES
          --read-bytes=BYTES
           輸出指定字節(jié)數
          -S [BYTES]
          --strings[=BYTES]
           輸出長度不小于指定字節(jié)數的字符串,BYTES 缺省為 3
          -v
          --output-duplicates
           輸出時不省略重復的數據
          -w [BYTES]
          --width[=BYTES]
           設置每行顯示的字節(jié)數,BYTES 缺省為 32 字節(jié)
          -t TYPE
          --format=TYPE
           指定輸出格式,格式包括 a、c、d、f、o、u 和 x,各含義如下:
             a:具名字符;比如換行符顯示為 nl
             c:可打印字符或反斜杠表示的轉義字符;比如換行符顯示為 \n
            d[SIZE]:SIZE 字節(jié)組成一個有符號十進制整數。SIZE 缺省為 sizeof(int)
            f[SIZE]:SIZE 字節(jié)組成一個浮點數。SIZE 缺省為 sizeof(double)
             o[SIZE]:SIZE 字節(jié)組成一個八進制整數。SIZE 缺省為 sizeof(int)
             u[SIZE]:SIZE 字節(jié)組成一個無符號十進制整數。SIZE 缺省為 sizeof(int)
             x[SIZE]:SIZE 字節(jié)組成一個十六進制整數。SIZE 缺省為 sizeof(int)
             SIZE 可以為數字,也可以為大寫字母。如果 TYPE 是 [doux] 中的一個,那么 SIZE 可以為 C  = sizeof(char),S = sizeof(short),I = sizeof(int),L = sizeof(long)。如果 TYPE 是 f,那么 SIZE 可以為 F = sizeof(float),D = sizeof(double) ,L = sizeof(long double)
          --help
           在線幫助
          --version
           顯示版本信息

          4.常用示例

          (1)設置第一列偏移地址以十進制顯示。

          od -Ad testfile

          偏移地址顯示基數有:d for decimal, o for octal, x for hexadecimal or n for none。

          (2)od 不顯示第一列偏移地址。

          od -An testfile

          (3)以十六進制輸出,默認以四字節(jié)為一組(一列)顯示。

          od -tx testfile

          (4)以十六進制輸出,每列輸出一字節(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)以十六進制顯示的同時顯示原字符。

          [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 命令輸出時去除列與列之間的空格符。
          當我們需要將文件內容顯示為十六進制,需要輸出連續(xù)的單個字節(jié),每個字節(jié)以十六進制顯示。這時我們可以通過od命令將文件以單個字節(jié)為一組,十六進制輸出在同一行,并去除每個字節(jié)之間的空格。目前還不知道怎么通過指定od命令的相關選項去除列與列之間的空格,也許od命令本身并不支持。我的做法是:
          (a)使用-An不輸出偏移地址;
          (b)使用-v輸出時不省略重復的數據;
          (c)使用-tx1以單個字節(jié)為一組按照十六進制輸出,-w1每列輸出一個字節(jié);
          (d)最后通過管道傳遞給 awk 的標準輸入,通過awk不換行輸出所有行,拼接為一行輸出。

          具體命令如下:

          od -An -w1 -tx1 testfile|awk '{for(i=1;i<=NF;++i){printf "%s",$i}}'

          參考文獻

          [1] od manual

          瀏覽 28
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩一级性爱 | 中文字幕第777页 | 豆花视频国产精品 | 99re视频在线播放 | 成人黄片免费看 |