Linux od命令详细介绍及用法实例

Linux od命令详解

1.功能

od命令用于将指定文件内容以八进制、十进制、十六进制、浮点格式或ASCII编码字符方式显示,通常用于显示或查看文件中不能直接显示在终端的字符。od命令系统默认的显示方式是八进制,名称源于Octal Dump。

常见的文件为文本文件和二进制文件。od命令主要用来查看保存在二进制文件中的值,按照指定格式解释文件中的数据并输出,不管是IEEE754格式的浮点数还是ASCII码,od命令都能按照需求输出它们的值。

大家也可以了解一下hexdump命令,以十六进制输出,但感觉hexdump命令美誉od命令强大。

2.命令格式

?

od [<选项><参数>] [<文件名>]

3.命令选项

?

A<RADIX>,--address-radix=RADIX:选择以何种基数表示地址偏移;

-j<BYTES>,--skip-bytes=BYTES:跳过指定数目的字节;

-N,--read-bytes=BYTES:输出指定字节数;

-S<BYTES>, --strings[=BYTES]:输出长度不小于指定字节数的字符串;

-v,--output-duplicates:输出时不省略重复的数据;

-w<BYTES>,--width=<BYTES>:设置每行显示的字节数,od默认每行显示16字节。如果选项--width不跟数字,默认显示32字节;

-t<TYPE>,--format=TYPE:指定输出格式,格式包括a、c、d、f、o、u和x,各含义如下:

 a:具名字符;

 c:ASCII字符或者反斜杠;

 d[SIZE]:十进制,正负数都包含,SIZE字节组成一个十进制整数;

 f[SIZE]:浮点,SIZE字节组成一个浮点数;

 o[SIZE]:八进制,SIZE字节组成一个八进制数;

 u[SIZE]:无符号十进制,只包含正数,SIZE字节组成一个无符号十进制整数;

 x[SIZE]:十六进制,SIZE字节为单位以十六进制输出,即输出时一列包含SIZE字节。

--help:在线帮助;

--version:显示版本信息。

4.用法示例

(1)设置第一列偏移地址以十进制显示。

?

od -Ad testfile

偏移地址显示基数有:d for decimal, o for octal, x for hexadecimal or n for none。

(2)od命令不显示第一列偏移地址。

?

od -An testfile

(3)以十六进制输出,默认以四字节为一组(一列)显示。

?

od -tx testfile

(4)以十六进制输出,每列输出一字节。

?

od -tx1 testfile

(5)显示ASCII字符和ASCII字符名称,注意换行符显示方式的区别。

?

#显示ASCII字符

[b3335@localhost]$ echo lvlv|od -a

0000000  l  v  v nl

0000005

 

#显示ASCII字符名称

[b3335@localhost]$ echo lvlv|od -tc

0000000  l  v  v \n

0000005

(6)以十六进制显示的同时显示原字符。

?

[b3335@localhost]$ echo lvlv|od -tcx1

0000000  l  v  v \n

     6c 76 6c 76 0a

0000005

(7)指定每行显示512字节。

?

od -w512 -tx1 testfile

(8)od命令输出时去除列与列之间的空格符。

当我们需要将文件内容显示为十六进制,需要输出连续的单个字节,每个字节以十六进制显示。这时我们可以通过od命令将文件以单个字节为一组,十六进制输出在同一行,并去除每个字节之间的空格。目前还不知道怎么通过指定od命令的相关选项去除列与列之间的空格,也许od命令本身并不支持。我的做法是:

(8.1)使用-An不输出偏移地址;
(8.2)使用-v输出时不省略重复的数据;
(8.3)使用-tx1以单个字节为一组按照十六进制输出,-w1每列输出一个字节;
(8.4)最后通过管道传递给awk的标准输入,通过awk不换行输出所有行,拼接为一行输出。

具体命令如下:

?

od -An -w1 -tx1 testfile|awk '{for(i=1;i<=NF;++i){printf "%s",$i}}'

参考文献

[1]od帮助文档

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/k346k346/article/details/54177989

原创文章,作者:APNKI,如若转载,请注明出处:https://www.wangzhanshi.com/n/7523.html

(0)
APNKI的头像APNKI
上一篇 2025年1月1日 16:30:13
下一篇 2025年1月1日 16:30:16

相关推荐

  • Linux下Nodejs安装步骤(完整详细)

    之前安装过windows下以及Mac下的node,感觉还是很方便的,不成想今天安装linux下的坑了老半天,特此记录。  首先去官网下载代码,这里一定要注意安装分两种,一种是Sou…

    2025年1月1日
  • Ubuntu中格式化硬盘常用的命令小结

    前言 在Ubuntu中,可以使用mkfs工具来格式化磁盘。以下是一些常用的命令示例: 1. 格式化为ext4文件系统: sudo mkfs.ext4 /dev/sdx 这里的/de…

    Linux 2024年12月17日
  • Linux下查看控制环境变量的方法

    查看环境变量 查看某一环境变量:比如我们需要查看HOME这个环境变量,我们可以在shell下直接输入echo $HOME,我们可以把所有的环境变量和环境变量的值都打印出来 打印环境…

    Linux 2025年1月1日
  • Linux进程间通信–使用信号

    一、什么是信号 用过windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在linux上是通过生成信号和捕获…

    2025年1月1日
  • 关于linux分区,文件系统,目录结构的概述

    1.Linux中如何表示硬盘,分区 Linux内核读取光驱,硬盘等资源时均通过“设备文件”的形式进行,因此在linux系统中,将硬盘和分区表示为不同的文件。具体表述形式如下: 硬盘…

    Linux 2025年1月1日
  • Linux之定时任务Crond详解

    定时任务crond介绍 crond是linux系统中用来定期执行命令/脚本或指定程序任务的一种服务或软件,一般情况下,我们安装完centos5/6 linux操作系统之后,默认便会…

    2025年1月1日
  • Linux命令行上如何使用日历详解

    前言 通过 Linux 上的日历,不仅仅可以提醒你今天是星期几。诸如 date、cal、 ncal 和 calendar 等命令可以提供很多有用信息。 Linux 系统可以为你的日…

    Linux 2025年1月1日
  • 用开源的 Darktable 进行照片处理

    如果你拍摄的照片值得处理,那么你可以看看 Darktable 为你提供了什么。 很难说好照片是如何产生的。你必须在正确的时间出现在正确的地点。你必须准备好相机和构图的观察力。而这只…

    2025年1月1日
  • Linux使用终端工具给你的电脑发送弹窗提醒!

    大家好,我是良许。 现在人手一部智能手机,这些智能手机都有个非常实用的功能,那就是弹窗提醒。当我们收到短信,或者微信信息时,手机就会弹窗显示信息的大致内容。有了这个功能你就不会错过…

    2025年1月1日
  • Linux 创建修改删除用户和组的方法

    介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就不单单就是useradd了,接下来就来详细了解账号管理的相关信息。 用户信息 先从用户信息开始…

    2025年1月1日

发表回复

登录后才能评论