昨天验证bug时,需要在原来文件的基础上生成一个固定大小的新文件,具体要求如下:
1. 源文件 src_file, 大小为4840896 byte;
2. 目标文件obj_file(在源文件基础上扩大),大小为5263104 byte;
需要的准备工作:
1. 获得文件大小的组合指令: ls -l src_file | awk '{print $5}',其中 ls -l src_file 用来获得src_file
的详细信息,文件大小在第5列的位置;awk '{print $5}' 以 ls -l src_file的输出作为该指令的输入,
将其第5列内容打印出来,即文件的大小。
2. 扩大源文件的指令: echo /0 >> src_file, 在文件filename 最后添加null字符。
3. 截取文件的指令: dd if=src_file out=obj_file bs=256 count=20559 注释:每次写256byte,
重复20559个cycle, 即 256 * 20559=5263104 byte。
具体的脚本实现:
step1:生成大于等于 5263104 bytes 的目标文件
注释:脚本中需扩大的文件为vmlinux.64.noinitrd,
执行之前先将源文件copy到目录 /root下。