00. 目录

文章目录

  • 00. 目录
  • 01. 命令概述
  • 02. 命令格式
  • 03. 常用选项
  • 04. 参考示例
  • 05. 附录

01. 命令概述

od命令用于输出文件的八进制、十六进制或其它格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符。

常见的文件为文本文件二进制文件。此命令主要用来查看保存在二进制文件中的值。比如,程序可能输出大量的数据记录,每个数据是一个单精度浮点数。这些数据记录存放在一个文件中,如果想查看下这个数据,这时候od命令就派上用场了。在我看来,od命令主要用来格式化输出文件数据,即对文件中的数据进行无二义性的解释。不管是IEEE754格式的浮点数还是ASCII码,od命令都能按照需求输出它们的值。

02. 命令格式

用法:od [选项]... [文件]...或:od [-abcdfilosx]... [文件] [[+]偏移量[.][b]]或:od --traditional [选项]... [文件] [[+]偏移量[.][b] [+][标签][.][b]]

03. 常用选项

-a   此参数的效果和同时指定”-ta”参数相同
-A  选择要以何种基数计算字码
-b  此参数的效果和同时指定”-toC”参数相同
-c  此参数的效果和同时指定”-tC”参数相同
-d  此参数的效果和同时指定”-tu2″参数相同
-f  此参数的效果和同时指定”-tfF”参数相同
-h  此参数的效果和同时指定”-tx2″参数相同
-i  此参数的效果和同时指定”-td2″参数相同
-j<字符数目>  略过设置的字符数目
-l  此参数的效果和同时指定”-td4″参数相同
-N<字符数目>  到设置的字符数目为止
-o  此参数的效果和同时指定”-to2″参数相同
-s<字符串字符数>    只显示符合指定的字符数目的字符串
-t<输出格式>  设置输出格式
-v  输出时不省略重复的数据
-w<每列字符数> 设置每列的最大字符数
-x  此参数的效果和同时指定”-h”参数相同
--help  查看帮助信息
--version   显示版本信息

04. 参考示例

4.1 八进制显示文件内容

[deng@localhost tmp]$ echo "hello world" > tmp
[deng@localhost tmp]$ cat tmp
hello world
[deng@localhost tmp]$ od -b tmp
0000000 150 145 154 154 157 040 167 157 162 154 144 012
0000014
[deng@localhost tmp]$

说明:使用单字节八进制解释进行输出,注意左侧的默认地址格式为八字节

4.2 使用ASCII码进行输出

[deng@localhost tmp]$ od -c tmp
0000000   h   e   l   l   o       w   o   r   l   d  \n
0000014
[deng@localhost tmp]$

说明:使用ASCII码进行输出,注意其中包括转义字符

4.3 使用单字节十进制进行解释

[deng@localhost tmp]$ od -t d1 tmp
0000000  104  101  108  108  111   32  119  111  114  108  100   10
0000014
[deng@localhost tmp]$ 

4.4 设置地址格式为十进制

[deng@localhost tmp]$ od -A d -c tmp
0000000   h   e   l   l   o       w   o   r   l   d  \n
0000012
[deng@localhost tmp]$ 

4.5 设置地址格式为十六进制

[deng@localhost tmp]$ od -A x -c tmp
000000   h   e   l   l   o       w   o   r   l   d  \n
00000c
[deng@localhost tmp]$

4.6 跳过开始的两个字节

00000c
[deng@localhost tmp]$ od -j 2 -c tmp
0000002   l   l   o       w   o   r   l   d  \n
0000014
[deng@localhost tmp]$

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

[deng@localhost tmp]$ od -N 2 -j 2 -c tmp
0000002   l   l
0000004
[deng@localhost tmp]$

4.8 每行仅输出1个字节

[deng@localhost tmp]$ od -w1 -c tmp
0000000   h
0000001   e
0000002   l
*
0000004   o
0000005
0000006   w
0000007   o
0000010   r
0000011   l
0000012   d
0000013  \n
0000014
[deng@localhost tmp]$

4.9 每行输出两个字节

[deng@localhost tmp]$ od -w2 -c tmp
0000000   h   e
0000002   l   l
0000004   o
0000006   w   o
0000010   r   l
0000012   d  \n
0000014
[deng@localhost tmp]$

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

[deng@localhost tmp]$ od -w3 -b tmp
0000000 150 145 154
0000003 154 157 040
0000006 167 157 162
0000011 154 144 012
0000014
[deng@localhost tmp]$

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

【Linux】一步一步学Linux——od命令(266)相关推荐

  1. 学linux作用,linux有必要学吗?学linux有什么作用,学linux能干什么

    Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到win ...

  2. LINUX学习之路(学LINUX必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知.而现在的趋势越来越表明,作为一 个优秀的软件开发人员,或计算机IT行业从业人员,掌握Linux是一种很重要的谋生资源与手段.下来我将会结 ...

  3. linux学习需要什么基础,学linux需要什么基础?

    近几年来,随着计算机网络的发展,越来越多的人学习 linux.对于想要从事运维工作或者从事智能开发方面的同学来说,学习 linux 是必要的.linux 的学习并不简单,那么这篇文章 w3cschoo ...

  4. 分享--linux 学习之路(学linux必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...

  5. 英语不好学linux运维难吗,学Linux系统难吗?学好Linux运维需要多久

    随着近年来经济的快速发展,企业对Linux人才的需求也越来越高.许多人认为,Linux是一个非常简单的行业,然而,Linux行业是一个综合了云计算.Linux运维.Linux开发.Linux编程等多方 ...

  6. 不会linux的php难找工作,学linux系统难吗

    这是 Linux初学者经常会问的问题,其实Linux和Windows一样都属于操作系统,对于大部分人来说,对Windows操作系统十分熟悉,而对Linux操作系统没有使用过,所以觉得很难,其实,只要熟 ...

  7. linux lamp实验报告,新手学Linux--构建lamp

    本人前不久开始学习Linux,俗话说得好,好记性不如烂笔头,于是决定将平日所学所做实验,记录下来,以备回顾.由于本人是个初学者,所以借鉴了很多网上的资料,但在此处写出来的都是经过本人思考和多次实验的记 ...

  8. Linux其实没那么难学

    互联网技术总是更新迭代的,因为2020年的一场疫情,影响着中国乃至整个世界,就在这一年,网络直播,远程办公,在线教育等等的互联网产物进入了众多人的世界,当然,这其中离不开程序员的功劳. 李开复曾经说过 ...

  9. 大学生为什么要学Linux?Linux有什么优点?

    前言 Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到 ...

最新文章

  1. origin安装包_作图技巧|研究生需要会的20个Origin操作,作图又快又好看(二)...
  2. Centos7.2安装zabbix3.0.1简要
  3. 6、mysql中字段
  4. XNA中的Render State管理
  5. pythonappend教程_对python append 与浅拷贝的实例讲解
  6. win10我的电脑在哪里找到
  7. 新商业时代最大的机会在于创业市场
  8. 你写的api接口代码真是_百度AI接口之JavaAPI方式调用示例代码[持续完善中]
  9. DDA数值微分法详解
  10. 数能一体化物联网感知层路由协议研究
  11. 大批量数据导出到Excel
  12. 基于Vue+Express+Mysql开发的手机端电影购票系统(附源码)
  13. 史上最全的Linux命令汇总(全网最全)
  14. 线性模型之二:线性回归模型性能的评估(残差图、MSE与R2)
  15. 应用程序无法正常启动(0xc000007b)
  16. 数据分析师三个等级_【数据分析课|这三个等级的数据分析师报考条件,一定是你需要的】- 环球网校...
  17. 用jq实现简单的锚点切换
  18. 解除oracle锁表
  19. java bigdecimal.valueof_java 中的大數據類型(BigInteger和BigDecimal) | 學步園
  20. 详解:生产车间的作业流程分析与改善方法!

热门文章

  1. django新建php文件,在Python的Django框架中创建语言文件
  2. 光盘显示容量但读不出文件_软网推荐:文件夹容量属性增强显示
  3. git gui here如何汉化_你不知道的一些在Git使用中的奇技淫巧!
  4. python如何创建模块教程_Python创建模块及模块导入的方法
  5. 我的世界服务器盖亚3缴械修改,[管理]BossColing — 植魔盖亚 | 凋零末影龙召唤冷却时间及血量设置[1.7.10-1.12.2]...
  6. html 读取物理路径,.Net Core api 中获取应用程序物理路径wwwroot
  7. 【强烈推荐】《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题
  8. 从华为“鸿蒙”备胎看IT项目建设
  9. [SDOI2013]直径 (树的直径,贪心)
  10. Jsoup(二)-- Jsoup查找DOM元素