时间:2021-05-19
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 -a0000000 l v l v nl0000005#显示ASCII字符名称[b3335@localhost]$ echo lvlv|od -tc0000000 l v l v \n0000005(6)以十六进制显示的同时显示原字符。
[b3335@localhost]$ echo lvlv|od -tcx10000000 l v l v \n 6c 76 6c 76 0a0000005(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帮助文档
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
通过Linux下的history命令我们可以查看用过的命令,即历史命令,今天本文将详细介绍Linux下history的具体用法,一起来了解下吧。 一、什么
Scrot是Linux命令行中使用的截图工具,能够进行全屏、选取等操作,下面小编将针对Scrot截图工具的用法给大家做个详细介绍,通过操作实例来学习Scro
tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linuxtail命令的用法。更多Linux命令详情请看:Linux命令速查手册Linuxta
MongoDB管道的介绍及操作符实例一介绍管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的参数。MongoDB的聚合管道将MongoDB
wget是Linux系统中用来下载文件的工具,其功能还是比较多的,能够下载单个文件,也可以分段下载,下面小编将针对wget命令的用法给大家做个实例介绍。