Featured image of post Linux生成指定大小文件

Linux生成指定大小文件

在日常使用中需要生成一个指定大小的测试文件,下面是一些常用的生成方式

使用 dd 命令

dd if=/dev/urandom of=1000.test bs=100MB count=10
dd if=/dev/zero of=1000.test bs=100MB count=10

if 是输入的信息源,of 用于指定输出的文件类型 bs 指定了块的大小,count 指定了总共生成多少块,bs*count 则是总的文件大小 Linux /dev/urandom 和 /dev/zero 都是一种特殊设备 (文件),前者能够用系统的噪音生成伪随机的字节流,后者可以提供零的数据流。

#查看系统的熵值容量
cat /proc/sys/kernel/random/poolsize
# 查看系统熵池中拥有的熵值
cat /proc/sys/kernel/random/entropy_avail
# 查看从熵池中读取到的熵阈值
cat /proc/sys/kernel/random/read_wakeup_threshold

/dev/random 是真随机数生成器,它会消耗熵值来产生随机数,同时在熵耗尽的情况下会阻塞,直到有新的熵生成.

而 /dev/urandom 是伪随机数生成器,它根据一个初始的随机种子(这个种子来源就是熵池中的熵)来产生一系列的伪随机数,而并不会在熵耗尽的情况下阻塞。

更新: read_wakeup_threshold 从内核中移除了

参考: /dev/urandom和/dev/random的区别是什么

Licensed under CC BY-NC-SA 4.0