dd命令可以轻易实现创建指定大小的文件,如

    1. dd if=/dev/zero of=test.img bs=1M count=1000

    会生成一个1000M的 test.img 文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源)
    但是这样为实际写入硬盘,文件产生速度取决于硬盘读写速度,如果欲产生超大文件,速度很慢
    在某种场景下,我们只想让文件系统认为存在一个超大文件在此,但是并不实际写入硬盘

    则可以

    1. dd if=/dev/zero of=test.img bs=1M count=0 seek=100000

    此时创建的文件在文件系统中的显示大小为100000MB,但是并不实际占用block,因此创建速度与内存速度相当
    seek的作用是跳过输出文件中指定大小的部分,这就达到了创建大文件,但是并不实际写入的目的
    当然,因为不实际写入硬盘,所以你在容量只有10G的硬盘上创建100G的此类文件都是可以的
    本文链接地址: http://www.chenhuan.net/dd-large-file.html