Linux指令:od (octal dump)

示例用法:od -c hello

Linux指令:od

od命令
用户通常使用od命令查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。

语法:od [选项] 文件…
命令中各选项的含义:
- A 指定地址基数,包括:
d 十进制
o 八进制(系统默认值)
x 十六进制
n 不打印位移值
- t 指定数据的显示格式,主要的参数有:
c ASCII字符或反斜杠序列
d 有符号十进制数
f 浮点数
o 八进制(系统默认值为02)
u 无符号十进制数
x 十六进制数
除了选项c以外的其他选项后面都可以跟一个十进制数n,指定每个显示值所包含的字节数。

说明:od命令系统默认的显示方式是八进制,这也是该命令的名称由来(Octal
Dump)。但这不是最有用的显示方式,用ASCII码和十六进制组合的方式能提供更有价值的信息输出。

例如:

  1. $ od - Ax - tcx1 wh5
  2. 000000 F i l e s y s t e m
  3. 46 69 6c 65 73 79 73 74 65 6d 20 20 20 20 20 20
  4. 000010 1 k - b l o c k s
  5. 20 20 20 20 20 31 6b 2d 62 6c 6f 63 6b 73 20 20
  6. 000020 U s e d A v a i l a b
  7. 20 20 20 20 55 73 65 64 20 41 76 61 69 6c 61 62
  8. 000030 l e U s e % M o u n t e d
  9. 6c 65 20 55 73 65 25 20 4d 6f 75 6e 74 65 64 20
  10. ---- My test -----
  11. ysun@linetcps1dev:~> cat a
  12. hello,world.
  13. Joey.
  1. ysun@linetcps1dev:~> od -Ax -tcx4 a
  2. 000000 h e l l o , w o r l d . \n \t J o
  3. 6c6c6568 6f772c6f 2e646c72 6f4a090a
  4. 000010 e y . \n \n \0 \0 \0
  5. 0a2e7965 0000000a
  6. 000015

常用发:

root@iZ23onhpqvwZ:~/ms/linux/sysProgram# od -c creatfile.txt
0000000 a b c d e f g h i j \0 \0 \0 \0 \0 \0
0000020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000040 \0 \0 \0 \0 \0 \0 \0 \0 A B C D E F G H
0000060 I J
0000062

root@iZ23onhpqvwZ:~/ms/linux/sysProgram# od -x -c creatfile.txt
0000000 6261 6463 6665 6867 6a69 0000 0000 0000
a b c d e f g h i j \0 \0 \0 \0 \0 \0
0000020 0000 0000 0000 0000 0000 0000 0000 0000
\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000040 0000 0000 0000 0000 4241 4443 4645 4847
\0 \0 \0 \0 \0 \0 \0 \0 A B C D E F G H
0000060 4a49
I J
0000062

root@iZ23onhpqvwZ:~/ms/linux/sysProgram# od -x creatfile.txt
0000000 6261 6463 6665 6867 6a69 0000 0000 0000
0000020 0000 0000 0000 0000 0000 0000 0000 0000
0000040 0000 0000 0000 0000 4241 4443 4645 4847
0000060 4a49
0000062

root@iZ23onhpqvwZ:~/ms/linux/sysProgram# hexdump -C creatfile.txt
00000000 61 62 63 64 65 66 67 68 69 6a 00 00 00 00 00 00 |abcdefghij......|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020 00 00 00 00 00 00 00 00 41 42 43 44 45 46 47 48 |........ABCDEFGH|
00000030 49 4a |IJ|
00000032

注意hexdump -C为大写:

-C Canonical hex+ASCII display. Display the input offset in hexadecimal, followed by sixteen space-separated, two column, hexadecimal
bytes, followed by the same sixteen bytes in %_p format enclosed in ``|'' characters

-c小写只显示字符

od 和 hexdump
实用程序 od 和 hexdump 分别输出文件或流的八进制、十六进制或其他编码的字节。它们对于访问或可视地检查文件中不能直接显示在终端上的字符很有用。

HERE 文档
有一种特殊的重定向值得在本教程中提一下。虽然严格地讲,HERE 文档是诸如 bash 这样的 shell
的特性,而不是与文本实用程序有关的任何东西,但是它们提供了向文本实用程序发送特殊数据的有用途径。
双小于号重定向可用于从终端接收伪文件的内容。HERE 文档必须紧跟在 << 后面指定一个终止分隔符。
如:

  1. $ od -c <<END
  2. > Alice
  3. > Bob
  4. > END
  5. 0000000 A l i c e \n B o b \n
  6. 0000012

任何字符串都可以用作分隔符;输入将在一行上遇到该字符串本身的地方终止。这样为我们提供了创建持久性文件的快捷方法:

  1. $ cat myfile <<EOF
  2. > Dave
  3. > Edna
  4. > EOF
  5. $ hexdump -C myfile
  6. 00000000 44 61 76 65 0a 45 64 6e 61 0a |Dave.Edna.|
  7. 0000000a

这就是Linux指令od的知识。

参考:http://codingstandards.iteye.com/blog/805778

Linux指令od和hexdump的更多相关文章

  1. [转]Linux之od命令

    转自:http://os.51cto.com/art/200912/173136.htm 随着计算机飞速的发展,很多人开始学习Linux,怎样才能学好Linux,一定要学好Linux的命令.学习Lin ...

  2. 对Linux命令od -tc -tx1的C语言程序实现myod-优化版

    导语 自编od C语言实现版名为myod 上个星期有一个初代版,链接- myod原版 这星期的课上要求实现myod-系统调用版本,要求如下 1 参考教材第十章内容 2 用Linux IO相关系统调用编 ...

  3. 以二进制的形式查看文件 Linux之od命令详解

    od命令 以二进制的形式查看文件 od -t x1 /usr/local/FT/config/hsm_create.utf8.sql ef bb bf 4c 5f 0d 0a 5f 4e 4e 4f ...

  4. Linux 指令大全

    作为一个小前端,以前有我们的运维大神在的时候,要给服务器做什么配置的时候就找他(那时幸福到哭),如今他走了,公司也没招人(想把这个钱省下来,让我发现了,毕竟我能当小运维用,虽然很这方面很渣渣,哈哈,偷 ...

  5. Linux 指令。

    从16年11月21号开始吧,加班变得特别频繁,基本上一周加5天,周六也会加,下班也很晚,一般都是10点9点,回家之后很疲惫,已经很久没有给自己充过电了,自己的学习计划和健身计划也打乱了,对工作的压力也 ...

  6. 04 Linux 指令语法结构与帮助命令

    一.Linux指令语法结构 [tyang3@localhost Desktop]$ command [-options] [arguments] 指令           选项           参 ...

  7. linux指令大全(完整篇)(转)

       http://blog.chinaunix.net/uid-9681606-id-1998590.html  linux指令大全(完整篇)(转) 2009-03-17 01:21:46 分类:  ...

  8. 课后练习:C语言实现Linux命令——od

    课后练习:C语言实现Linux命令--od --------CONTENTS-------- 题目详情与分析 设计思路 遇到的问题及解决 待实现的设想与思考 学习反思与感悟 附1:myod.c「1.0 ...

  9. C语言实现Linux命令——od

    C语言实现Linux命令--od 实现要求: 复习c文件处理内容 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能 main与其他分开,制作静态库和动态库 编写M ...

随机推荐

  1. vSphereClient向ESXi主机分配许可证

    ESXi服务器需要使用VMwarevSphereClient进行管理(7.0+版本可以通过浏览器进行管理)在VMware vSphere client可以方便的创建.管理虚拟机,并分配相应的资源.要能 ...

  2. Bootstrap打印问题

    删除bootstrap的样式引用,就可以正常打印预览了. bootstrap 设置了@media print相关属性导致 @media print { * { color: #000 !importa ...

  3. 【BZOJ】2060: [Usaco2010 Nov]Visiting Cows 拜访奶牛(树形dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2060 裸的树形dp d[x][1]表示访问x的数量,d[x][0]表示不访问x的数量 d[x][1] ...

  4. IOS 分节表视图

    分节表视图 简单的表视图仅仅有一个节,它实际上是分节表视图的一个特例.一个表能够有多个节,节也有头有脚,分节是加入索引和分组的前提. 索引的正确使用原则如所看到的: 1.索引标题不能与显示的标题全然一 ...

  5. PARSEC測试集的应用领域和working set的大小

    參考:tp=&arnumber=4636090">PARSEC vs. SPLASH-2: A Quantitative Comparison of Two Multithre ...

  6. Alpha matting算法发展

    一.抠图算法简介 Alpha matting算法研究的是如何将一幅图像中的前景信息和背景信息分离的问题,即抠图.这类问题是数字图像处理与数字图像编辑领域中的一类经典问题,广泛应用于视频编缉与视频分割领 ...

  7. NLM算法

    non-Local Means 非局部均值 论文原文:http://www.ipol.im/pub/art/2011/bcm_nlm/?utm_source=doi 论文源代码:http://www. ...

  8. node中的require和exports

    http://cnodejs.org/topic/4f16442ccae1f4aa270010e9

  9. LNMP+Zabbix搭建

    LNMP+Zabbix搭建 cmake2.8.8,Nginx-1.6.3,Php-5.5.38,Mysql-5.5.32,Zabbix-3.2.6 修改 /etc/selinux/config 文件中 ...

  10. 【BZOJ4499】线性函数 线段树

    [BZOJ4499]线性函数 Description 小C最近在学习线性函数,线性函数可以表示为:f(x) = kx + b.现在小C面前有n个线性函数fi(x)=kix+bi ,他对这n个线性函数执 ...