linux od 字符串,Linux中od命令的使用

本文主要讲述一下Linux中dd命令的使用。

1. od命令

od命令用于将指定文件内容以八进制、十进制、十六进制、浮点格式或ASCII编码字符方式显示。通常用于显示或查看文件中不能直接显示在终端的字符。od命令系统默认的显示方式是八进制,名称源于Octal Dump。

常见的文件为文本文件和二进制文件。od命令主要用来查看保存在二进制文件中的值,按照指定格式解释文件中的数据并输出,不管是IEEE754格式的浮点数还是ASCII码,od命令都能按照需求输出它们的值。

1.1 命令格式

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

其中命令选项主要有:

-A, --address-radix=RADIX

在输出中以何种格式来表示地址偏移,其中RADIX的可选值有[doxn]。d表示Decimal,

o表示Octal,x表示Hex,n表示None

-j, --skip-bytes=BYTES

表示跳过开头的BYTES个字节

-N, --read-bytes=BYTES

表示只dump BYTES个字节

-S BYTES, --strings[=BYTES]

输出长度不小于指定字节数的字符串

-w[BYTES], --width[=BYTES]

设置每行显示的字节数,od默认每行显示32字节

-t, --format=TYPE

指定输出格式,格式包括a、c、d、f、o、u和x,各含义如下:

1) a: named character, ignoring high-order bit

2) c: select printable characters or backslash escapes

3) d[SIZE]:十进制,正负数都包含,SIZE字节组成一个十进制整数;

4) f[SIZE]:浮点,SIZE字节组成一个浮点数;

5) o[SIZE]:八进制,SIZE字节组成一个八进制数;

6) u[SIZE]:无符号十进制,只包含正数,SIZE字节组成一个无符号十进制整数;

7) x[SIZE]:十六进制,SIZE字节为单位以十六进制输出,即输出时一列包含SIZE字节

此外,我们还有一些简写的方式来输出相应格式:

-a same as -t a, select named characters, ignoring high-order bit

-b same as -t o1, select octal bytes

-c same as -t c, select printable characters or backslash escapes

-d same as -t u2, select unsigned decimal 2-byte units

-f same as -t fF, select floats

-i same as -t dI, select decimal ints

-l same as -t dL, select decimal longs

-o same as -t o2, select octal 2-byte units

-s same as -t d2, select decimal 2-byte units

-x same as -t x2, select hexadecimal 2-byte units

1.2 使用实例

首先我们先准备一个tmp文件:

# echo abcdef g >tmp

# cat tmp

abcdef g

1) 使用单字节八进制解释进行输出

# od -b ./tmp

0000000 141 142 143 144 145 146 040 147 012

0000011

注意: 左侧的默认地址格式为八进制表示

2) 使用ascii码进行输出

# od -c ./tmp

0000000 a b c d e f g \n

0000011

注意,其中包括转义字符

3) 使用单字节十进制进行解释

# od -t d1 ./tmp

0000000 97 98 99 100 101 102 32 103 10

0000011

4) 设置地址格式为十进制

# od -A d -c ./tmp

0000000 a b c d e f g \n

0000009

5) 设置地址格式为十六进制

# od -A x -c ./tmp

000000 a b c d e f g \n

000009

6) 跳过开始的2个字节

# od -j 2 -c ./tmp

0000002 c d e f g \n

0000011

7) 跳过开始的两个字节,并且仅输出两个字节

# od -N 2 -j 2 -c ./tmp

0000002 c d

0000004

8) 每行仅输出1个字节

# od -w1 -c tmp

0000000 a

0000001 b

0000002 c

0000003 d

0000004 e

0000005 f

0000006

0000007 g

0000010 \n

0000011

9) 每行输出两个字节

# od -w2 -c tmp

0000000 a b

0000002 c d

0000004 e f

0000006 g

0000010 \n

0000011

10) 每行输出3个字节,并使用八进制单字节进行解释

# od -w3 -b tmp

0000000 141 142 143

0000003 144 145 146

0000006 040 147 012

0000011

2. xxd命令

这里顺带再介绍一个xxd命令,该命令以十六进制方式显示文件,例如:

# xxd ./tmp

00000000: 6162 6364 6566 2067 0a abcdef g.

[参看]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值