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

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

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

查看非文本文件内容:od进化版xxd

    在介绍od时,说过了xxd是od的升级版。od命令很基础,而且常用的进制是十六进制,而不是八进制,所以每次使用od的话,就有点不顺手了。要多打些额外的参数来显示十六进制。这样就给使用带来了不便。这样,xxd也就出来了。xxd的xx可以看成是进制的表示,d则是dump的缩写。也就是可以支持默认十六进制的输出。xx也就是表示默认两个十六进制字节一组的输出数据。dump就是输出的意思,dump本意是倾倒,意思是大批量的输出。而且xxd只支持十六进制显示数据。od可以显示各种进制,而xxd特化为了十六进制了。

    好了,明白了命令xxd的名称由来,相信对此命令也就更加有感觉些了,而不仅仅是三个字母的组合了。从名称就知道命令的主要作用。这也是真正掌握常用命令的诀窍。不死记硬背,就连名称都理解到位了,忘不了了。


语法: xxd [选项] 文件名

选项:

-b :binary(二进制),按照二进制输出数据。

用法:xxd -b 1.txt

效果:

查看非文本文件内容:od升级版xxd

-g:group(分组),显示的数据几个字节一组显示,在g后面带一个数字指定。默认2字节一组。

用法:xxd -g 1 1.txt

效果:

xxd -g 1 1.txt

-u:upper(大写),默认情况,数据显示的十六进制的字母是小写的,如果要大写,加上u。

用法:xxd u 1.txt

效果:

xxd u 1.txt

-l 长度值:lenght(长度),显示数据的字节长度。

用法:xxd -l  3 1.txt

效果:

xxd -l 3 1.txt

最后说的一个是特色,可以将十六进制数据输出为C语言的数组声明初始化格式,这样可以快速将大量十六进制数据写到代码中去。这里只是讲几个常用的而已,不是只有这么些选项哦。

-i :include (包含),output in C include file style,C语言风格输出。

用法:xxd -i 1.txt

效果:

xxd -i 1.txt

    由上图可以看到,文件中的数据以十六进制输出为C语言的数组形式,并且还写好了数组声明和初始化的代码,有意思。这个在一些时候非常有用,如果手动去格式化这些数据,一定让人眼花缭乱,我之前就手动做过,眼睛都不敢眨一下,生怕错了。

    xxd的一个亮点就是这个了。至于其他亮点,就留给读者自己去探寻吧。我只介绍常用的。需要了解更多,只需要输入:

xxd --help 或者 man xxd,非常详细的说明就显示出来了。