当前位置:C++技术网 > 资讯 > Linux的常用Shell命令新手入门:16 文件操作命令-查看非文本文件命令1

Linux的常用Shell命令新手入门:16 文件操作命令-查看非文本文件命令1

更新时间:2016-09-17 19:20:57浏览次数:1+次

查看非文本文件内容:老牌命令od

    通常要查看非文本文件内容,我们想到的要么就是图片、音频、视频等,如果没有对应的播放器,我们是无法看到实际的内容的。当然,如果我们经常并不是要查看文件数据的效果,而是查看数据本身,也就是十六进制的数据,我们可以通过一些命令实现。我们将要介绍的有三个命令,分别为od、升级版xxd和hexdump。本文只介绍od。

    od应该是最早使用的命令,非常基础。所以,也就不太方便使用,所以才发展了后面的两个命令。先介绍了od,然后后面再专题介绍其他两个命令。

    od基于英文单词octal dump两个单词,即八进制输出的意思。所以od命令默认输出的字节数据是按照八进制显示的。而xxd因为是od的升级版,应该是考虑到十六进制更加常用,所以xxd命令默认显示的就是十六进制了。而hexdump则是冲着十六进制来的,看命令名称就可以看出来。


语法:od [选项] 文件名

命令中各选项的含义:
-A 地址格式参数 :Address(地址),指定地址显示格式,一行显示十六个字节
地址格式参数:
d decimal十进制

用法:od -A d 1.txt

效果图:

查看非文本文件内容:老牌命令od

o octal八进制,od默认的进制

用法:od -A o 1.txt 或 od 1.txt(默认的地址显示就是八进制,数据也是默认八进制显示)

x hexadecimal十六进制

用法:od -A x 1.txt

效果图:

od -A x 1.txt

od -A d 1.txt的效果图中,即第一个图中,显示的地址,因为不够,所以并看不出地址值的进制差别。在十六进制图中,就是上图,可以看到十六进制显示的了。

n none(无),不打印地址值

用法:od -A n 1.txt

效果:

od不显示地址


-t 参数值:data(数据),指定数据的显示格式。这里就是数据显示方式了,而不是地址了。
主要的参数值:
c character字符,ASCII字符或反斜杠序列

用法:od -t c 1.txt

效果:

od -t c 1.txt

以下这些参数值,可以紧跟着一个数字,表示显示数据时几个字节一起显示。如果单个字节分开显示,则是d1,f1,o1...,默认是4个字节一起显示。

d decimal十进制,有符号十进制数

用法:od -t d 4.txt

效果图:

od -t d 4.txt

箭头所指便是八进制的20的地址值,也就是十进制的16,起那么一行就是16个字节,分成四组,每一组是4个字节。我们显示的数据是十进制,所以无法区分。默认的字节显示就是4字节一块。我们可以指定数据以单字节分组显示,这样就可以清楚看到十进制的数据显示了。只要在d后面加一个1即可,表示一组一个字节显示。效果图如下:

我们可以指定数据以单字节分组显示,这样就可以清楚看到十进制的数据显示了。只要在d后面加一个1即可,表示一组一个字节显示

f float浮点数,小数格式显示,用法同参数值d。

o octal八进制,八进制显示数据,两个字节显示(系统默认值为02)

用法:od 1.txt(使用默认地址默认数据显示格式)

u unsigned无符号,无符号十进制数显示数据,用法同参数值d。
x hexadecimal十六进制数,用法同参数值d。

注:除了选项参数值c以外的其他选项后面都可以跟一个十进制数n,指定显示的每个数据所包含的字节数。

    可以看到,od命令非常简单,即对地址进制控制和对数据显示进行控制。如果只是查看二进制数据,od可以满足了。如果要更多格式控制,就要学习后面的xxd和hexdump命令了。