如何在Linux中使用bash shell脚本从块中特殊和字符特殊设备读取?

我正在尝试从/ dev / random和/ dev / urandom中读取,并想知道使用bash shell脚本来读取它们和阻止/字符特殊设备的最佳方式是什么?

使用dd从设备获取数据块。 例如从/dev/urandom获取8个字节:

 dd if=/dev/urandom count=1 bs=8 | ... 

然后你可以使用od将字节转换成一个可读的形式:

 $ dd if=/dev/urandom count=1 bs=8 2>/dev/null | od -t x1 -A n b4 bc 2f 59 dd 55 1b 4a 

顺便说一句,如果你只需要bash中的随机数, $RANDOM可能更有用:

 $ echo $RANDOM $RANDOM $RANDOM $RANDOM 3466 6521 4426 9349 

我的提示:

 dd if=/dev/urandom count=4 | ... 

或者,例如,尾巴严重依赖于你想要处理的数据

要格式化为长整数:

 dd if=/dev/urandom bs=1 count=4|od -l