xxd: 二进制显示和处理文件工具,cat: 以文本方式ASCII显示文件
xxd -s 0x30 file
skip file 的前 0x30 bytes后显示filexxd -s -0x30 file
skip file 的 (size-0x30) bytes后显示file(其实就是显示file的最后 0x30 bytes)xxd -s 0x28 -l 120 -c 12 file
skip file的0x28bytes后,显示 len=120 bytes的内容,每行显示12 bytes(column=12)xxd -s 0x28 -l 120 -c 12 -a -g 1 file
skip file的0x28bytes后,显示 len=120 bytes的内容,每行显示12 bytes(column=12), -a 若出现连续的 0 则使用 * 替代 跳过这些空白内容,-g 1 每1个byte作为一个group显示(默认是2bytes)echo "00000075:41" | xxd -r -s 0x100 >new
先skip 0x100字节(使用0来填充这段内容),再在偏移0x00000075处写入41(这也是A的ASCII码), 整体效果就是创建了一个new文件,在0x00000175处有个41(文件到此截至)xxd infile | xxf -r -s 0x100 > outfile
复制infile,在其前面填充0x100个0后得到输出文件
1 | xxd infile > tmp |
精确修改infile的某个偏移的字节内容后,写回到 outfile