zoukankan      html  css  js  c++  java
  • hexdump, hexedit 使用指南

    hexdump, hexedit 使用指南

    hexdump 详解

    hexdump命令一般用来查看“二进制”文件的十六进制编码,但实际上它能查看任何文件,而不只限于二进制文件。

    用法

    hexdump [选项] [文件]...
    
    -n length 只格式化输入文件的前length个字节。
    -C 输出规范的十六进制和ASCII码。
    -b 单字节八进制显示。
    -c 单字节字符显示。
    -d 双字节十进制显示。
    -o 双字节八进制显示。
    -x 双字节十六进制显示。
    -s 从偏移量开始输出。
    -e 指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如:'a/b "format1" "format2"'。
    
        # hexdump -h
        hexdump: invalid option -- 'h'
         
        Usage:
         hexdump [options] file...
         
        Options:
         -b              one-byte octal display#单字节八进制显示
         -c              one-byte character display#单字节字符显示
         -C              canonical hex+ASCII display#规范化 十六进制+ASCII 显示
         -d              two-byte decimal display#两字节十进制显示
         -o              two-byte octal display#两字节八进制显示
         -x              two-byte hexadecimal display#两字节十六进制显示
         -e format       format string to be used for displaying data#格式 用于显示数据的格式字符串
         -f format_file  file that contains format strings#格式文件 包含格式字符串的文件
         -n length       interpret only length bytes of input#长度 只解释输入的指定长度个字节
         -s offset       skip offset bytes from the beginning#偏移 跳过开头指定长度个字节
         -v              display without squeezing similar lines#显示时不压缩相似的行
         -V              output version information and exit#显示此帮助并退出
    

    每个格式字符串由三部分组成,每个由空格分隔,第一个形如a/b,b表示对每b个输入字节应用format1格式,a表示对每a个输入字节应用format2格式,一般a>b,且b只能为1,2,4,另外a可以省略,省略则a=1。format1和format2中可以使用类似printf的格式字符串,如:

    %02d:两位十进制
    %03x:三位十六进制
    %02o:两位八进制
    %c:单个字符等
    

    还有一些特殊的用法:

    %_ad:标记下一个输出字节的序号,用十进制表示。
    %_ax:标记下一个输出字节的序号,用十六进制表示。
    %_ao:标记下一个输出字节的序号,用八进制表示。
    %_p:对不能以常规字符显示的用 . 代替。
    

    同一行如果要显示多个格式字符串,则可以跟多个-e选项。

    hexdump -e '16/1 "%02X " "  |  "' -e '16/1 "%_p" "
    "' test
    00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F  |  ................  
    10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F  |  ................  
    20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F  |   !"#$%&'()*+,-./ 
    

    hexedit 详解

    hexedit 是查看和编辑十六进制或 ASCII 文件的工具,Hexedit 同时以 ASCII 和十六进制显示文件。文件可以是一个设备,因为文件是一次读取一个片段。您可以修改文件并在其中搜索。

    安装 (ubuntu1804)

    sudo apt install hexedit -y
    

    用法

    hexedit [-s | --sector] [-m | --maximize] [-h | --help] [filename]
    
    # -s, --sector    格式化显示以包含整个扇区。
    # -m, --maximimize    尝试最大化显示。
    # -h, --help    显示用法。
    

    快速命令,进入编辑器以后直接按键即可操作的命令

    移动

    <,> : 转到文件的开头/结尾
    Right: 下一个字符
    Left: 前一个字符
    Down: 下一行
    Up: 前一行
    Home: 行的第一个字符
    End: 行的最后一个字符
    PUp: 向上翻页
    PDown: 向下翻页
    

    其他命令

    F2: 保存
    F3: 打开其他文件
    F1: 帮助
    Ctrl-L: redraw
    Ctrl-Z: 暂时停办(推出后使用fg回来,使用jobs 查看 停办的任务)
    Ctrl-X:保存并推出
    Ctrl-C: 退出不保存
    Tab: hex和ascii之间切换
    Return: 跳到指定地址(不区分大小写)
    Backspace: 撤消前一个修改的字符
    Ctrl-U: 撤销所有的修改
    Ctrl-S: 向前搜索 16进制值
    Ctrl-R: 向后搜索 16进制值
    

    剪切粘贴

    Ctrl-Space: set mark
    Esc-W: copy
    Ctrl-Y: paste
    Esc-Y: paste into a file
    Esc-I: fill
    
  • 相关阅读:
    C 运算符, 有符号数据运算,
    P1337 [JSOI2004]平衡点 / 吊打XXX 模拟退火
    [POI2011]Garbage 欧拉回路
    # bzoj2215: [Poi2011]Conspiracy 2-sat
    hdu1814 Peaceful Commission 2-sat
    2-sat相关复习
    #2718. 「NOI2018」归程 kruskal重构树
    JXOI2018守卫 区间DP
    [NOI1995]石子合并 四边形不等式优化
    3900: 交换茸角
  • 原文地址:https://www.cnblogs.com/michaelcjl/p/15184275.html
Copyright © 2011-2022 走看看