zoukankan      html  css  js  c++  java
  • 使用dd命令快速生成大文件或者小文件的方法

    在程序的测试中有些场景需要大量的小文件或者几个比较大的文件,而在我们的文件系统里一时无法找到那么多或者那么大的文件,此时linux的dd命令就能快速的帮助你完成想要的文件。具体用法简单总结如下:

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

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

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

    则可以

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

    此时创建的文件在文件系统中的显示大小为100000MB,但是并不实际占用block,因此创建速度与内存速度相当,seek的作用是跳过输出文件中指定大小的部分,这就达到了创建大文件,但是并不实际写入的目的。当然,因为不实际写入硬盘,所以你在容量只有10G的硬盘上创建100G的此类文件都是可以的。


    2. 随机生成1百万个1K的文件

    seq 1000000 | xargs -i dd if=/dev/zero of={}.dat bs=1024 count=1


    dd命令功能很强大具体可以参考http://www.cnblogs.com/licheng/archive/2008/03/21/1116492.html

  • 相关阅读:
    LeetCode 172:阶乘后的零
    Ubuntu12.04更新出现 The system is running in low-graphics mode解决方法
    不加参数的存储过程
    PCC-S-02201, Encountered the symbol "DB_USER_OPER_COUNT"
    该思考
    关于export环境变量生存期
    会话临时表 ORA-14452
    如何创建守护进程--及相关概念
    2014年10月末
    6个月
  • 原文地址:https://www.cnblogs.com/Crazy-Liu/p/11095814.html
Copyright © 2011-2022 走看看