linux 下查看二进制文件

本文详细介绍了od-dump、hexdump和xxd工具的功能与使用方法,包括如何通过这些工具查看文件的八进制、十六进制与ASCII码内容,以及如何使用xxd工具进行文件的十六进制编辑。同时,文章提供了具体的命令示例,帮助读者快速上手并理解这些工具在实际工作中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. od - dump files in octal and other formats
   顾名思义是查看八进制,可以通过指定参数为查看十六进制
   -A 指定左边侧栏显示的地址基数,默认为八进制
   -t 指定输出单元的进制格式和字节数
   -x = -t x2 输出单元为双字节(注意:每单元内排列顺序从左到右为 [高字节|低字节])
   例:
[atom@localhost code]$ od -t x1 txtfile
0000000 74 68 65 20 71 75 69 63 6b 20 66 6f 78 20 6a 75
0000020 6d 70 20 6f 76 65 72 20 6c 61 7a 79 20 64 6f 67
0000040 73 0a
0000042

[atom@localhost code]$ od -A x -t x1 txtfile
000000 74 68 65 20 71 75 69 63 6b 20 66 6f 78 20 6a 75
000010 6d 70 20 6f 76 65 72 20 6c 61 7a 79 20 64 6f 67
000020 73 0a
000022

[atom@localhost code]$ od -A x -x txtfile
000000 6874 2065 7571 6369 206b 6f66 2078 756a
000010 706d 6f20 6576 2072 616c 797a 6420 676f
000020 0a73
000022

2. hexdump - ascii, decimal, hexadecimal, octal dump
   查看十六机制的首选工具。
   -c 每单元以字节为单位,显示出对应的ASCII码
   -C 每单元以字节为单位,同时显示十六机制和ASCII码
   例:
[atom@localhost code]$ hexdump -c txtfile
0000000     t     h     e             q     u     i     c     k             f     o     x             j     u
0000010     m     p             o     v     e     r             l     a     z     y             d     o     g
0000020     s   \n                                                                                                             
0000022

[atom@localhost code]$ hexdump -C txtfile
00000000   74 68 65 20 71 75 69 63   6b 20 66 6f 78 20 6a 75   |the quick fox ju|
00000010   6d 70 20 6f 76 65 72 20   6c 61 7a 79 20 64 6f 67   |mp over lazy dog|
00000020   73 0a                                                                                         |s.|
00000022

3. xxd - make a hexdump or do the reverse.
   能够显示文件对应的十六机制格式,同时还能将修还后的十六进制格式反写回文件,一般与vim结合使用。(利用vim的:! 参数执行外部命令)
使用过程如下:
(1)用vim打开要查看文件
       vim txtfile
(2)在vim命令模式下输入
   :% !xxd
   解释: %表示文件的所有行,!xxd表示执行外部命令xxd,结合在一起,就是把当前vim上显示的所有行传递给xxd,xxd把处理后的结果重新显示在vim上。
   结果如图所示
Linux下文件十六进制查看工具  

(3)这时候可以直接在上面修改十六进制值。注意:当前修改了十六进制值,右边侧栏的ASCII码并不会相应改变。
(4)修改完毕后,反写回原文件。在vim命令模式下输入
  :% !xxd -r
   只有十六进制的修改部分才会被采用,右边侧栏的ASCII码值忽略不管。

  如果你不熟悉vim,可以参考vim自带的vimtutor,然后再参考 vim cookbook ,主流的技巧就算是掌握了。

带GUI的十六进制编辑器,可以参考ghex和bless,有很多。
Linux中,可以使用xxd命令来查看二进制文件。xxd命令是用于将文件转换成十六进制或反向操作的工具。通过xxd命令,我们可以查看二进制文件的内容和结构。 另外,还可以使用hexdump命令来查看二进制文件。hexdump是一个十六进制转储工具,可以将文件以十六进制和ASCII字符的形式显示出来,从而更好地理解二进制文件的内容。 如果你想要在Linux中生成和读取二进制文件,可以使用C或C++编程语言。通过在程序中使用文件操作函数,如fopen、fread、fwrite等,可以实现对二进制文件读取和写入操作。例如,你可以使用main2.cpp来生成一个二进制文件,然后使用main3.c来读取二进制文件。在读取二进制文件时,可以使用fgets函数来读取指定长度的字符串,用于读取格式化固定位址的二进制结构数据。 综上所述,在Linux中,可以使用xxd命令或hexdump命令来查看二进制文件的内容和结构。如果需要生成和读取二进制文件,则可以使用C或C++编程语言来实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Linux查看二进制文件](https://blog.youkuaiyun.com/qq_19922839/article/details/115483499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [linux c 读写二进制文件](https://download.youkuaiyun.com/download/sunflow/85483138)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

developer_wgl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值