需求产生在需要替换固件内容中某一段检验数据 然后我脑海中依稀是记得linux里面有指令应该是可以高效完成这个工作的
但是一番检索我还是没找,可能是我关键字设置得不太对(替换 地址 linux 指令 文件,水一下关键字方便和我一样这样子检索的人能够看到)
指令上场
dd(disk dump)
功能:用指定size的块去拷贝一个文件,在拷贝时可以进行指定输出方式和设定
基本参数说明:
if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。 cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。 conv=conversion:用指定的参数转换文件。
ascii:转换ebcdic为ascii ebcdic:转换ascii为ebcdic ibm:转换ascii为alternate
ebcdic block:把每一行转换为长度为cbs,不足部分用空格填充 unblock:使每一行的长度都为cbs,不足部分用空格填充
lcase:把大写字符转换为小写字符 ucase:把小写字符转换为大写字符 swab:交换输入的每对字节 noerror:出错时不停止
notrunc:不截短输出文件 sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐
完成拷贝替换内容到指定文件指令:
dd if=输入文件(即要写入的数据文件) of=输出文件(即需要被改写内容的文件) bs=1(设置写入块的bytes大小) seek=1024(偏移位置) count=2048(写入块数量) conv=notrunc(特殊设置)