Linux带多个随机数文件名,Linux的两种随机数生成器

Linux下有两个特殊设备文件/dev/random和/de/urandom,用于生成随机数。/dev/random生成的随机数与当前使用的计算机硬件状态相关,提高了安全性,非常适合对随机数质量要求很高的场景。但是,如果硬件状态改变不足以提供足够多的信息给这个随机数生成器,读它产生的随机数的程序就会block住,一直等到有足够多的硬件状态改变导致数据生成为止。

/dev/urandom又称为“无限”或者“非堵塞”("unlimited"[5]/non-blockingrandom source[4])随机数生成器,它生成随机数的机制与硬件状态无关,所以速度比/dev/random快的多。在我的笔记本虚机上测试的结果是生成160M大小的随机数需要大约25秒

用随机数生成器生成内容全是随机数的文件:

dd if=/dev/urandom of=/test/random bs=1024k count=10

由于随机数生成器速度有限,如果要用它生成随机数去测试磁盘写性能,可以先生成一个中间文件存放随机数,然后再去写入磁盘测试性能。

与/dev/zero相比,/dev/urandom生成数据的速度要慢很多,在我的笔记本虚机上测试的结果是慢~20倍,结果如下:

[lb@centos-i1~]$  time dd if=/dev/zero of=/dev/nullbs=160M count=1

1+0 records in

1+0 records out

167772160 bytes(168 MB) copied, 1.28577 s, 130 MB/s

real    0m1.289s

user    0m0.000s

sys     0m1.278s

[lb@centos-i1~]$  time dd if=/dev/urandom of=/dev/nullbs=160M count=1

1+0 records in

1+0 records out

167772160 bytes(168 MB) copied, 23.488 s, 7.1 MB/s

real    0m23.491s

user    0m0.000s

sys     0m22.569s

在我的笔记本虚机上测试随机数生成器速度测试结果如下(供参考):

框中用几种不同的方法生成填满160M文件大小的随机数,耗时都24秒左右。

[lb@centos-i1~]$  time dd if=/dev/urandom of=/dev/nullbs=16M count=10

10+0 records in

10+0 records out

167772160 bytes(168 MB) copied, 24.4058 s, 6.9 MB/s

real    0m24.409s

user    0m0.000s

sys     0m24.177s

[lb@centos-i1~]$  time dd if=/dev/urandom of=/dev/nullbs=16k count=10000

10000+0 records in

10000+0 records out

163840000 bytes(164 MB) copied, 24.9815 s, 6.6 MB/s

real    0m24.982s

user    0m0.036s

sys     0m24.685s

[lb@centos-i1~]$  time dd if=/dev/urandom of=/dev/nullbs=160M count=1

1+0 records in

1+0 records out

167772160 bytes (168MB) copied, 25.9681 s, 6.5 MB/s

real    0m25.971s

user    0m0.000s

sys     0m25.694s

### 回答1: 下面是用 Python 语言写的生成 1000 以内随机数的代码,可以在 CMD 中运行: ``` import random print(random.randint(0, 1000)) ``` 在 CMD 中运行方法: 1. 打开 CMD 2. 进入到存储代码的文件夹 3. 输入 `python 代码文件名.py` 即可运行代码,例如:`python random_number.py` ### 回答2: 要在cmd上运行生成1000以内随机数的代码,可以使用Python编写以下脚本: ```python import random def generate_random(): num = random.randint(1, 1000) return num if __name__ == "__main__": print(generate_random()) ``` 将以上代码保存为`generate_random.py`文件,然后在cmd中运行以下命令: ``` python generate_random.py ``` 运行后,将会在cmd上打印一个随机生成的1000以内的整数。每次运行脚本都会生成不同的数值。 ### 回答3: 要在cmd中运行生成1000以内随机数的代码,我们可以使用Python编程语言来实现。 首先,确保你的电脑已经安装了Python。然后,按照以下步骤进行操作: 1. 打开文本编辑(例如Notepad)。 2. 输入以下代码: ```python import random random_num = random.randint(1, 1000) print(random_num) ``` 3. 将文件保存为"random_number.py"(注意文件扩展名必须为.py)。 4. 打开cmd并导航至保存了"random_number.py"文件的目录。 5. 在cmd中输入以下命令来运行代码: ``` python random_number.py ``` 6. 按下回车键,即可生成一个在1到1000之间的随机数并在cmd窗口中显示出来。 这样就完成了生成1000以内随机数的代码,并且可以通过cmd来运行。每次运行代码时都会生成一个不同的随机数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值