fo_*_*x86 10 linux command-line
我试图理解dd命令的输出。我试过
dd if=/dev/zero of=/dev/null bs=512 count=1
并得到(如预期):
1+0 records in
1+0 records out
512 bytes (512 B) copied, 2e-05 seconds, 26 MB/s
Run Code Online (Sandbox Code Playgroud)
但是当我尝试
dd if=/dev/random of=/dev/null bs=512 count=1
我有
0+1 records in
0+1 records out
128 bytes (128 B) copied, 0.00012 seconds, 1.1 MB/s
Run Code Online (Sandbox Code Playgroud)
为什么只复制 128 个字节?
您需要使用/dev/urandom,或“解锁”随机源。
/dev/random使用一种熵池来增加位源的随机性。此方法将仅返回根据当时熵池的状态可以返回的随机位/字节数,因此如果使用硬件随机数生成器,这有时可能是一个常数。从Linux 联机帮助页:
生成器还保持对熵池中噪声位数的估计。从这个熵池中创建随机数。
/dev/urandom只要您需要,该文件将继续按原样重复使用内部池以生成一个数字。这样做/dev/urandom的副作用是: 不要用于加密目的,因为它比 产生的位随机性小/dev/random。有关详细信息,请参阅上面的联机帮助页链接。
| 归档时间: |
|
| 查看次数: |
3188 次 |
| 最近记录: |