Linux Shell里面生成随机数的一些思路分析
1.使用时间相关的随机数
利用data命令生成输出unixtimestamp(%s)和当前时间的纳秒数据(%N,精确到亿分之一秒。)
前者保证在不同秒数之内输出不重复 后者保证在同一秒内数字不重复 两者组合就可以了
date +%s%N
这个方法不依赖系统 只要时间不停止,就一直可以得到不重复的为随机数
2.系统shell内部变量 $RANDOM
这么没啥好说的 依赖shell
3.通过Linux的随机设备获取 然后算校验和
head -10 /dev/urandom | cksum
注意这里千万不要使用cat去获取 这个是一条没有尽头的路 获取1行和10行没有太大的区别 这个
4.通过Linux的内核的UUID获取
UUID的计算信息会加入硬件,时间,机器当前运行信息等,可以保证生成的都是全球唯一的 直接
cat /proc/sys/kernel/random/uuid
就可以 然后在算校验和转换为数字即可,但是依赖Linux内核。
如上4种思路 供自己参考
相关文章
红帽RHEL8和7的区别对比分享(Centos8与7参照redhat)
这篇文章主要介绍了红帽RHEL8和7有什么区别(Centos8与7参照redhat),包括红帽RHEL8和RHEL7功能区别对比和RHEL8额外新功能新特性,对红帽RHEL8和7相关知识感兴趣的朋友跟随小编一起看看吧2023-01-01Linux“unable to locate package“问题的解决
这篇文章主要介绍了Linux “unable to locate package“问题的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-01-01
最新评论