(转)linux下od命令的使用
linux下od命令的使用
原文:http://blog.csdn.net/shylock_backer/article/details/46473283
名称:od
作用:格式化输出文件中的数据
提要:
od [OPTION]... [FILE]...
od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]
od --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]]
说明:
常见的文件为文本文件和二进制文件。此命令主要用来查看保存在二进制文件中的值。比如,程序可能输出大量的数据记录,每个数据是一个单精度浮点数。这些数据记录存放在一个文件中,如果想查看下这个数据,这时候od命令就派上用场了。在我看来,od命令主要用来格式化输出文件数据,即对文件中的数据进行无二义性的解释。不管是IEEE754格式的浮点数还是ASCII码,od命令都能按照需求输出他们的值。
如果没有指定文件名,或者文件名为“-”,则从标准输入读入数据
-A:指定地址基数,od命令的输出最左侧的1列为偏移量。默认的偏移量使用8进制,可以使用-A进行修改。
格式为:-A 参数.可以使用的参数有:d:十进制;o:八进制;x:十六进制;n不显示偏移量这一列。
-j:文件打开时,跳过的字节数量。
格式为:-j BYTES.BYTES是一个数值,用0开头表示8进制,用0x开头表示16进制,用b作为后缀表示1个字节,用k作为后缀表示1024个字节,用m作为后缀表示1048576个字节。
-N:用于限制输出的字节的数量
格式为:-N BYTES.BYTES的格式同上。
-S:用于指定输出的串占多少个图形字符的位置
格式为:-S BYTES.
-t:选择输出格式。
格式为:-t [acdfoux][size].
a:每个ASCII码对应的名字。
b:用八进制字节表示的字符对应的ASCII码值
d:有符号数值,SIZE个字节
f:浮点数,SIZE个字节
o:八进制数,SIZE个字节
u:无符号数值,SIZE个字节
x:十六进制数,size个字节
注意:这里的SIZE是一个数值或者是一个字母。字母的范围为:[CSILFD]。对于非f类型的,一般选择CSIL.其中C表示sizeof(char),S表示sizeof(short),I表示sizeof(int),L表示sizeof(long).如果类型为f,sizeof可以是F或者是D,分别表示sizeof(float)或者sizeof(double).
可以使用传统的格式:分别为:
-a:等价于 -t a.表示ASCII码的名字
-b:等价于-t o1,选择单字节,并且按照3个数值位的八进制数进行解释
-c:等价于-t c,选择ASCII码字符或者是转义字符
-d:等价于-t u2:选择无符号2字节单位
-f:等价于-t fF,选择单精度浮点数
-i:等价于-t dI,选择十进制整型
-l:等价于-t dL,选择十进制长整型
-o:等价于-t o2,选择两个字节的单元并按照八进制进行解释
-s:等价于-t d2,选择两字节单元并按照十进制解释
-x:等价于-t x2,选择两个字节单元,并作十六进制解释
-v:不用*代替重复的输出
-w:用于设置每行的宽度,即每行上输出的字节数
格式为:-w BYTES
举例说明如下:
说明:先准备一个tmp文件
[lichao@sg01 ~]$ echo abcdef g > tmp
[lichao@sg01 ~]$ cat tmp
abcdef g
说明:使用单字节八进制解释进行输出,注意左侧的默认地址格式为八字节
[lichao@sg01 ~]$ od -b tmp
0000000 141 142 143 144 145 146 040 147 012
0000011
说明:使用ASCII码进行输出,注意其中包括转义字符
[lichao@sg01 ~]$ od -c tmp
0000000 a b c d e f g \n
0000011
说明:使用单字节十进制进行解释
[lichao@sg01 ~]$ od -t d1 tmp
0000000 97 98 99 100 101 102 32 103 10
0000011
说明:设置地址格式为十进制
[lichao@sg01 ~]$ od -A d -c tmp
0000000 a b c d e f g \n
0000009
说明:设置地址格式为十六进制
[lichao@sg01 ~]$ od -A x -c tmp
000000 a b c d e f g \n
000009
说明:跳过开始的两个字节
[lichao@sg01 ~]$ od -j 2 -c tmp
0000002 c d e f g \n
0000011
说明:跳过开始的两个字节,并且仅输出两个字节
[lichao@sg01 ~]$ od -N 2 -j 2 -c tmp
0000002 c d
0000004
说明:每行仅输出1个字节
[lichao@sg01 ~]$ od -w1 -c tmp
0000000 a
0000001 b
0000002 c
0000003 d
0000004 e
0000005 f
0000006
0000007 g
0000010 \n
0000011
说明:每行输出两个字节
[lichao@sg01 ~]$ od -w2 -c tmp
0000000 a b
0000002 c d
0000004 e f
0000006 g
0000010 \n
0000011
说明:每行输出3个字节,并使用八进制单字节进行解释
[lichao@sg01 ~]$ od -w3 -b tmp
0000000 141 142 143
0000003 144 145 146
0000006 040 147 012
0000011
(转)linux下od命令的使用的更多相关文章
- 学号20175313 《实现Linux下od -tx -tc XXX的功能》第九周
目录 MyOD 一.题目要求 二.题目理解 三.需求分析 四.设计思路 五.代码链接 六.代码实现过程中遇到的问题 七.运行结果截图 八.参考资料 MyOD 一.题目要求 编写MyOD.java 用j ...
- 实现Linux下od -tx -tc XXX的功能
实现Linux下od -tx -tc XXX的功能 一.od命令 (1)功能 od命令用于将指定文件内容以八进制.十进制.十六进制.浮点格式或ASCII编码字符方式显示,通常用于显示或查看文件中不能直 ...
- Linux下tail命令的使用方法
Linux下tail命令的使用方法: linux tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,ta ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- 例解 Linux 下 Make 命令
Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...
- Linux下who命令之C语言实现
Linux下who命令之C语言实现 Step1:前期准备 首先要有一个清楚的认识:linux中一切皆文件 实现who命令,who命令也是Linux中的一个文件,那我们怎么找到它呢?我们可以" ...
- linux下history命令显示历史指令记录的使用方法
Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中.默认保存1000条,你也可以更改这个值 ...
- linux下svn命令使用大全
最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个linux下svn命令使用大全:1.将文件checkout到本地目录 svn checkout path(path是服务器 ...
- Linux下rz命令使用的实例详解
Linux中rz命令和sz命令都可用于文件传输,而rz命令主要用于文件的上传,下面将通过几个实例来给大家详细介绍下Linux下rz命令的用法,一起来学习下吧. rz命令可以批量上传文件,当然也可上传单 ...
随机推荐
- leetcode 111 Minimum Depth of Binary Tree(DFS)
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
- python function with variadic arguments or keywords(dict) 可变参数与关键字参数
*args 表示任意个普通参数,调用的时候自动组装为一个tuple **kwags 表示任意个字典类型参数, 调用的时候自动组装成一个dict args和kwags是两个约定俗成的用法. 变长参数可以 ...
- 第六章-jQuery
jQuery的理念是: 写更少的代码, 完成更多的工作 jQuery有两个版本1.x和2.x, 版本2.x不再支持IE678 jQuery最明显的标志就是$, jQuery把所有的功能都封装在了jQu ...
- HihoCoder1672 : 区间问题([Offer收割]编程练习赛41)(贪心)
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定N个区间[Ai, Bi],请你找到包含元素最少的整数集合S,使得每个区间都至少有两个整数在S中. 例如给定三个区间[1 ...
- python-while循环,for ,以及字符串格式化
1.字符串格式化 name="suwukong" print("欢迎",name,"光临")print("欢迎 "+na ...
- P2762 [网络流24题]太空飞行计划问题(最小割)
地址 最大权闭合子图裸题,不说了吧,求方案就是把s集遍历一遍. 错误记录:dfs那块忘判断残量了,11分×1. #include<cstdio> #include<iostream& ...
- 【LeetCode】017. Letter Combinations of a Phone Number
题目: Given a digit string, return all possible letter combinations that the number could represent. A ...
- windows下vs2012用gsoap开发webservice实例
零:说明 1.本文是根据网上前人经验结合自己动手操作写成,开发工具用的vs2012,gsoap用的是gsoap-2.8: 2.gsoap提供的工具简单介绍 1)wsdl2h.exe:根据WSDL文件生 ...
- java计算两个时间相差(天、小时、分钟、秒)
public static Long dateDiff(String startTime, String endTime, String format, String str) { // 按照传入的格 ...
- 实际用户ID和有效用户ID (三) *****
我们知道权限有r,w,x.其实除了这三个,还有特殊权限.比如: [root@localhost ~]# ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 229 ...