Linux指令od和hexdump
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码和十六进制组合的方式能提供更有价值的信息输出。
例如:
- $ od - Ax - tcx1 wh5
- 000000 F i l e s y s t e m
- 46 69 6c 65 73 79 73 74 65 6d 20 20 20 20 20 20
- 000010 1 k - b l o c k s
- 20 20 20 20 20 31 6b 2d 62 6c 6f 63 6b 73 20 20
- 000020 U s e d A v a i l a b
- 20 20 20 20 55 73 65 64 20 41 76 61 69 6c 61 62
- 000030 l e U s e % M o u n t e d
- 6c 65 20 55 73 65 25 20 4d 6f 75 6e 74 65 64 20
- ---- My test -----
- ysun@linetcps1dev:~> cat a
- hello,world.
- Joey.
- ysun@linetcps1dev:~> od -Ax -tcx4 a
- 000000 h e l l o , w o r l d . \n \t J o
- 6c6c6568 6f772c6f 2e646c72 6f4a090a
- 000010 e y . \n \n \0 \0 \0
- 0a2e7965 0000000a
- 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 文档必须紧跟在 << 后面指定一个终止分隔符。
如:
- $ od -c <<END
- > Alice
- > Bob
- > END
- 0000000 A l i c e \n B o b \n
- 0000012
任何字符串都可以用作分隔符;输入将在一行上遇到该字符串本身的地方终止。这样为我们提供了创建持久性文件的快捷方法:
- $ cat myfile <<EOF
- > Dave
- > Edna
- > EOF
- $ hexdump -C myfile
- 00000000 44 61 76 65 0a 45 64 6e 61 0a |Dave.Edna.|
- 0000000a
这就是Linux指令od的知识。
参考:http://codingstandards.iteye.com/blog/805778
Linux指令od和hexdump的更多相关文章
- [转]Linux之od命令
转自:http://os.51cto.com/art/200912/173136.htm 随着计算机飞速的发展,很多人开始学习Linux,怎样才能学好Linux,一定要学好Linux的命令.学习Lin ...
- 对Linux命令od -tc -tx1的C语言程序实现myod-优化版
导语 自编od C语言实现版名为myod 上个星期有一个初代版,链接- myod原版 这星期的课上要求实现myod-系统调用版本,要求如下 1 参考教材第十章内容 2 用Linux IO相关系统调用编 ...
- 以二进制的形式查看文件 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 ...
- Linux 指令大全
作为一个小前端,以前有我们的运维大神在的时候,要给服务器做什么配置的时候就找他(那时幸福到哭),如今他走了,公司也没招人(想把这个钱省下来,让我发现了,毕竟我能当小运维用,虽然很这方面很渣渣,哈哈,偷 ...
- Linux 指令。
从16年11月21号开始吧,加班变得特别频繁,基本上一周加5天,周六也会加,下班也很晚,一般都是10点9点,回家之后很疲惫,已经很久没有给自己充过电了,自己的学习计划和健身计划也打乱了,对工作的压力也 ...
- 04 Linux 指令语法结构与帮助命令
一.Linux指令语法结构 [tyang3@localhost Desktop]$ command [-options] [arguments] 指令 选项 参 ...
- linux指令大全(完整篇)(转)
http://blog.chinaunix.net/uid-9681606-id-1998590.html linux指令大全(完整篇)(转) 2009-03-17 01:21:46 分类: ...
- 课后练习:C语言实现Linux命令——od
课后练习:C语言实现Linux命令--od --------CONTENTS-------- 题目详情与分析 设计思路 遇到的问题及解决 待实现的设想与思考 学习反思与感悟 附1:myod.c「1.0 ...
- C语言实现Linux命令——od
C语言实现Linux命令--od 实现要求: 复习c文件处理内容 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能 main与其他分开,制作静态库和动态库 编写M ...
随机推荐
- git设置忽略文件和目录
1.登录gitbash命令端进入本地git库目录 Administrator@PC201601200946 MINGW32 /d/gitrespository/crmweb (master) 2.创建 ...
- [Python基础]Python文件处理小结
1. 文件的打开与关闭 <1>打开文件 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件名,访问模式) 示例如下: f = open('te ...
- curl myip.ipip.net curl ip.cn curl cip.cc
[命令行] curl查询公网出口IP 2016年07月22日 14:27:02 阅读数:19022 不管是在家里还是办公室,或者是公司的主机,很多时候都是在内网中,也就是说很多都是通过 NAT上网的, ...
- 【Mac + Appium + Python3.6学习(四)】之常用的IOS自动化测试API总结
环境: Appium:1.9.1 Appium-desktop:1.7.1 Xcode:10.0 IOS:iPhone5S(10.3.3) Mac:10.13.6 ①获取手机屏幕size:长.宽 &l ...
- 【vijos】1881 闪烁的繁星(线段树+特殊的技巧)
https://vijos.org/p/1881 这场比赛太难了sad.所以我都没做.. 这题一开始我竟然不会sad(本来就不会),然后我继续yy..yy了好久,竟然yy了个什么可拆分的并查集?(sa ...
- Attribute在.net编程中的应用(一)
Attribute的基本概念 经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行.实际上在.Net中,Attribute是一个非常重要的组成部分,为了帮助大家理解和掌握A ...
- 添加RichEdit控件后导致MFC对话框程序无法运行的解决方法
新建一个基于对话框的MFC程序,对话框上添加了RichEdit控件,编译成功后无法运行起来,Debug版本与Release版本均不行! Windbg分析结果: WARNING: Stack unwin ...
- webpack中引入的path[require('path')]是node.js内置的package,用来处理路径的。
http://www.runoob.com/nodejs/nodejs-path-module.html
- requestAnimationFrame 实现JS动画
requestAnimationFrame会随着浏览器绘制窗口的频率来绘制动画以达到最好的用户体验 // let raf = (function(){ // return window.request ...
- 直接下载jdk压缩包方式安装
分为下面5个步骤 1.官网下载JDK 2.检查是否安装jdk,解压缩,放到指定目录 3.配置环境变量 4.设置系统默认JDK 5. 测试jdk 1.官网下载JDK 地址: http://ww ...