Linux od命令(以指定进制显示文件)
从“读取二进制文件”出发,到od命令的使用
在桃村实习期间,一直努力做毕业设计,我的毕业设计中有一个内容就是读取SEGY文件。在读取文件时,经常遇到的问题时你要读取浮点型数据,这时你就必须考虑你所使用的计算机CPU使用的是什么类型的浮点类型了?
我遇到的是符点类型转换是IBM32浮点类型和IEEE浮点类型的转换问题,因为不知道我的CPU支持什么类型的float,所以打算做个测试。测试方法就是把浮点数据输入到文件,然后查看文件内的二进制编码!!!就在此时问题出现了
如何才能查看文件内的二进制编码呢?使用less或者cat显示的绝不是你想想的东西,不信你试试,它们是用来显示ASCII的程序。由于实习条件所限,没有上网的环境,归校后google了以下发现了od命令。【顿然开朗,似乎见过耶】
下面说说命令吧!
od命令系统默认的显示方式是八进制,这也是该命令的名称由来(OctalDump)。
od命令一般用来查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。
使用方式
语法:
od [-A 地址进制] [-t 显示格式] 文件
选项介绍:
-A 地址进制: 按指定的进制显示地址信息;
-t 显示格式: 指定数据的显示格式;
-A 指定地址进制包括:
o 八进制(系统默认值)
d 十进制
x 十六进制
n 不打印位移值
-t 指定数据的显示格式,主要参数有:
c ASCII字符或反斜杠序列(如\n)
d 有符号十进制数
f 浮点数
o 八进制(系统默认值)
u 无符号十进制数
x 十六进制数
例如:
下图为检测-A的作用,它只是指定按什么进制显示地址而已,文件内容的显示不会受其影响!
【文件hello.txt的内容只有hello五个字符】
从“读取二进制文件”出发,到od命令的使用 - carl - carls life
下图为检测-t的使用,它指定按什么格式显示文件的内容。【文件hello.txt的内容只有hello五个字符】
从“读取二进制文件”出发,到od命令的使用 - carl - carls life
如果你以二进制形式来保存ASCII信息,则你可以使用od -t c filename来显示文件的内容!!
Linux od命令(以指定进制显示文件)的更多相关文章
- linux od命令: 按不同进制显示文件
介绍:od(octal dump)命令可以以八进制.十进制.十六进制和ASCII码来显示文件或者流,它们对于访问或可视地检查文件中不能直接显示在终端上的字符很有用.语法: od [-A 地址进制] [ ...
- linux od命令详解
Linux od命令 Linux od命令用于输出文件内容.od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来 将指定文件以八进制形式(默认)转储到标准输出.如果指定了多于一个的文件参数 ...
- shell命令行混合进制计算器smartbc
需要简单的计算的时候,不想用GUI的计算器,能在shell下直接计算就最好了 查了下,有个东西叫 bc, 具体的使用就不赘述了,可以运行bc,然后进去计算,也可以echo传递过去,大概是像这样 ec ...
- linux od命令
用户通常使用od命令查看特殊格式的文件内容.通过指定该命令的不同选项可以以十进制.八进制.十六进制和ASCII码来显示文件.od命令系统默认的显示方式是八进制,这也是该命令的名称由来(Octal Du ...
- Linux工具之bc计算器进制的转换
bc是Linux下的命令行式的计算器. 题目虽然叫任意进制,但是因为bc的限制,输入进制是2~16范围:输出进制是2~999范围.这与常见计算器的进制范围是一致的,比如windows计算器最高也只能处 ...
- poj 2305(指定进制,大数取模)
题意:输入一个进制b,在输入两个基于b进制的大整数 x,y ,求x%y的b进制结果. http://162.105.81.212/JudgeOnline/problem?id=2305 函数: Str ...
- Linux sed命令在指定行前后添加内容
一.在匹配行前后加内容在包含www.baidu.com的行前面或后面添加多一行内容www.qq.com#匹配行前加sed -i '/www.baidu.com/i www.qq.com' domain ...
- Linux sed命令删除指定行
一.删除包含匹配字符串的行## 删除包含baidu.com的所有行sed -i '/baidu.com/d' domain.file 二.删除匹配行及后所有行## 删除匹配20160229的行及后面所 ...
- bash 内嵌命令 printf 用于进制转换
printf - 格式化并显示数据 printf "%d" 0x10 printf "%x" 16
随机推荐
- 一个从MongoDB中导出给定日期范围内数据的shell脚本
#!/bin/sh ver=`date "+%Y%m%d"` #d1, the beginning date, eg:2017-06-28 d1=$1 d1=`date -d $d ...
- Java设计模式(5)共享模式/享元模式(Flyweight模式)
Flyweight定义:避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类). 为什么使用共享模式/享元模式 面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可 ...
- excel数据批量导入
1. html <form id="form_search" action="@Url.Action("UpLoadFile")" ...
- 深入浅出 kvm qemu libvirt
在所谓的kvm技术中,应用到的其实有2个东西:qemu+kvmkvm负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备:qemu是模拟IO设备(网卡,磁盘),kvm加上 ...
- [Python学习]Iterator 和 Generator的学习心得
[Python学习]Iterator 和 Generator的学习心得 Iterator是迭代器的意思,它的作用是一次产生一个数据项,直到没有为止.这样在 for 循环中就可以对它进行循环处理了.那么 ...
- Numpy 利用数组进行数据处理
Numpy数组使你可以将许多种数据处理任务表述为简洁的数组表达式(否则需要编写循环). 用数组表达式代替循环的做法,通常被称为矢量化.一般来说,矢量化数组运算要比等价的纯跑一趟湖南快 上一两个数量级( ...
- c++ 文件增加#ifndef、#define 和 #endif 语句的意义
文件currency.h (或 currencyOverload.h) 包含了 currency类的声明和实现细节. 在文件头, 应该加上语句 #ifndef Currency_ #define Cu ...
- CentOS 6.8 安装 RabbitMQ
放上来做个备份. 1.下载RabbitMQ http://www.rabbitmq.com/download.html 选择 RHEL/CentOS 6.x 下载即可. 或者 http://www.r ...
- vector 用法小例子
1. vector<int> vec; vec.push_back(1); 2. vector<int> vec(10); vec[0] = 1;
- JUnit介绍,JUnit是什么?
JUnit是什么? JJUnit是用于编写和运行可重复的自动化测试的开源测试框架, 这样可以保证我们的代码按预期工作.JUnit可广泛用于工业和作为支架(从命令行)或IDE(如Eclipse)内单独的 ...