/dev/{null,zero,random,urandom}

-- TOC --

它们是4个Linux系统下,常用的伪设备文件,各有特色。

/dev/null,被形象地比喻为一个黑洞,任何不想要的输出就重定向给它,它可以吃下任何输入,没有一点反应。当然,想从它那里读取什么是不可能的。

/dev/zero,只输出0x00

读取/dev/null,或写入/dev/zero,都没意义,它们的名字其实代表了他们存在的目的!

/dev/random,生成随机数据流,阻塞方式。

/dev/urandom,也是生成随机数据流,非阻塞方式。

关于这两个随机数生成器,网上讨论很多,个人感觉基本结论就是,用urandom!

测速:

$ dd if=/dev/zero of=/dev/null bs=1 status=progress
$ dd if=/dev/random of=/dev/null bs=1 status=progress
$ dd if=/dev/urandom of=/dev/null bs=1 status=progress

Python的os模块,有一个接口,os.urandom,就是在读取/dev/urandom

本文链接:https://cs.pynote.net/sf/linux/sys/202112102/

-- EOF --

-- MORE --