Linux下使用od查看文件

From: http://www.orczhou.com/index.php/2010/08/linux-od-data-file/

查看文本文件使用vim/less就足够了,但如果想要查看一些其他二进制文件(例如DB的数据文件、程序的二进制代码)则借助于od/hexdump这些工具会很方便,这里会通过一些实例来详细介绍od命令的相关参数。

1. od参数详解
$od -j 49152 -N 38 -w4 -A d -t x1 -v tmp_test.ibd
0049152 fd 6f fb 70
0049156 00 00 00 03
0049160 ff ff ff ff
0049164 ff ff ff ff
0049168 00 00 00 03
0049172 ba 92 ac 0c
0049176 45 bf 00 00
0049180 00 00 00 00
0049184 00 00 00 00

-j 49152 跳过前49152个字节(bytes)

-N 38 仅显示38个字节

-w4 每一行显示4个字节

-A d 表示最左侧的偏移量按十进制显示;-A还可以接[doxn],其中d表示十进制,o表示8进制,x表示16进制,n表示不显示该偏移量,如:

od -j 49152 -N 8 -w4 -A n -t x1 -v ibdata1
 b4 0b c7 31
 00 00 00 03

-t x1表示如何显示文件内容。这里,x表示按照16进制输出文件内容,x后面跟的“1”表示一次显示一个字节。下面是一个-t x2的输出:

od -j 49152 -N 8 -w4 -A n -t x2 -v ibdata1
 0bb4 31c7    # 0bb4是十进制表示的两个字节
 0000 0300    #

另外,注意到这里是0bb4和前面的b40b略有不同,这是因为我这里的测试平台是little-endian的(x86_64 Linux)。

最后,参数-v表示,即使连续多行都是完全相同的字符0,仍然原样输出;不加该参数,则会使用星号(*)跳过多个相同的行。

好了,再回头看看最前面的命令,已经没那么难理解了吧。

=======================================================================================

From: http://www.lx138.com/plugin.php?id=buzao_138command:page&ID=358

 ?语法
 od[必要参数][选择参数][文件]
 
 ?功能
 od 命令:令会读取所给予的文件的内容,并根据给定的参数输出内容,默认为八进制
 
 ?类似命令  cat   less   more   tail  
 ?相关教程 暂缺,去论坛找找?  
 ?执行权限 超级用户 普通用户
 ?命令属性 文件管理
 
 ?参数
必要参数

-v 如果有重复数据也输出



选择参数

 -A<地址进制> 选择要以何种基数计算字码
  a 名称
  c ASCII
  d 十进制,有符号
  o 八进制
  x 十六进制 
  n 不移位显示

 -t<显示格式> 选择数据显示的格式
  a 名称
  c ASCII
  d 十进制,有符号
  f 浮点数
  o 八进制
  u 十进制,无符号
  x 十六进制
 
 -w<字数> 设置每列最大字数
Linux命令查询
http://www.lx138.com/plugin.php?id=buzao_138command:page&ID=358
 

范例1:以八进制的形式计算字码

[root@hnlinux lx1 3 8.com]# cat a.txt //显示文件内容
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@hnlinux lx1 3 8.com]# od a.txt //以八进制显示
0000000 020141 020142 020143 020144 020145 020146 020147 020150
0000020 020151 020152 020153 020154 020155 020156 020157 020160
0000040 020161 020162 020163 020164 020165 020166 020167 020170
0000060 020171 005172
0000064
[root@hnlinux lx1 3 8.com]#




范例2:以十进制形式计算字码

[root@hnlinux lx1 3 8.com]# od -Ad a.txt
0000000 020141 020142 020143 020144 020145 020146 020147 020150
0000016 020151 020152 020153 020154 020155 020156 020157 020160
0000032 020161 020162 020163 020164 020165 020166 020167 020170
0000048 020171 005172
0000052
[root@hnlinux lx1 3 8.com]#


范例3:以名称字符显示文件内容

[root@hnlinux lx1 3 8.com]# od -ta a.txt
0000000  a sp  b sp  c sp  d sp  e sp  f sp  g sp  h sp
0000020  i sp  j sp  k sp  l sp  m sp  n sp  o sp  p sp
0000040  q sp  r sp  s sp  t sp  u sp  v sp  w sp  x sp
0000060  y sp  z nl
0000064
[root@hnlinux lx1 3 8.com]#


范例4:以浮点形式显示

[root@hnlinux lx1 3 8.com]# od -tf a.txt
0000000 1.200883106648073e-152 1.439553651869985e-152
0000020 1.678224197091896e-152 1.924454257440363e-152
0000040 2.401795347884186e-152 2.879136438328009e-152
0000060 8.684481626452876e-316
0000064



[root@hnlinux ~]#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值