在日常使用中需要生成一个指定大小的测试文件,下面是一些常用的生成方式
使用 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 从内核中移除了