Linux快速生成大文件方式

 更新时间:2023年09月01日 14:43:24   作者:二十同学  
这篇文章主要介绍了Linux快速生成大文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Linux快速生成大文件

dd命令

dd if=/dev/zero of=file bs=1M count=20000

会生成一个20G的file 文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源)。

此命令可以生成一个实际的20G的文件,文件会写入硬盘,文件产生的速度和硬盘读写速度有关系,读写速度越快,产生文件越快。

如果只想产生一个大文件的数据,但是并不需要占用磁盘空间,则可以使用如下命令:

dd if=/dev/zero of=file bs=1M count=0 seek=20000

此时创建的文件在文件系统中的显示大小为20G,但是并不实际占用磁盘,因此创建速度与内存速度相当。

seek的作用是跳过输出文件中指定大小的部分,这就达到了创建大文件,但是并不实际写入的目的。

当然,因为不实际写入硬盘,所以你在容量只有20G的硬盘上创建100G的此类文件都是可以的。

Linux使用dd命令拷贝/生成文件

一、dd命令

1. 作用

Copy a file, converting and formatting according to the operands.

复制一个文件,根据操作数进行转换和格式化。

2. 用法

dd [OPERAND]...

3. 常用参数

  • bs=BYTES:一次读取和写入的大小(块大小),默认是512B
  • ibs=BYTES:一次读取到BYTES字节,默认是512
  • count=N:复制N个块
  • if=FILE:要读取的文件
  • of=FILE:要写入的文件
  • iflag=FLAGS:按照逗号分离的符号表读取
  • oflag=FLAGS:按照逗号分离的符号表写入
  • seek=N:在输出开始时跳过N个obs-sized的块

其中,N 和 BYTES 的值可以跟下面的这些单位后缀:

c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M,
GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.

FLAGS符号表的值常用的有:

  • dsync:对数据使用同步的I/O

二、Demo

1. 生成指定大小的空文件

生成1M大小的文件:

sudo dd if=/dev/zero of=test_1M.img bs=1M count=1

生成1G大小的文件:

sudo dd if=/dev/zero of=test_1G.img bs=1M count=1K

2. 烧录镜像到SD卡

sudo dd iflag=dsync oflag=dsync if=load.imx of=/def/sdb bs=512 seek=2

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论