使用此命令所支持的特有选项,亦可以以二进制的形式查看文件。
如果没有给定输入文件,标准输入就作为输入文件infile。如果infile是一个‘-' 字符,也从标准输入读入。如果没有给定outfile (或者它的文件名是一个‘-'字符), 结果将输出至标准输出。
xxd实现使用了那些系统调用:
read open write close
关于此命令经常使用的选项主要有:
(1)-a : 它的作用是自动跳过空白内容,默认是关闭的
(2)-c : 它的后面加上数字表示每行显示多少字节的十六进制数,默认是16bytes,最大是256bytes
(3)-g : 设定以几个字节为一块,默认为2bytes
(4)-l : 显示多少字节的内容
(5)-s : 后面接【+-】和address。“+”表示从地址处开始的内容,“-”表示距末尾address开始的内容
(6)-b:以二进制(0 or 1)的形式查看文件内容
应用实例:
将文件内容转换为16进制
-b将文件内容转换为2进制
-l len | -len len
输出<len>个字符后停止。
查看xxd 详细信息
xxd的伪代码:
main:
读取参数(输入文件标识符、输出文件标识符,其他参数);
if(存在参数-a):总动跳过空白内容;
if(存在参数-b):以二进制显示
if(存在参数-l):显示文件内容
。。。
设定好参数后,从输入文件流中读入,从输出文件流中读出。