Linux的Shell里面生成随机数

Posted on 2020-07-22

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内核。


 评论
张三
orz
李四
orz orz
李小四
orz orz orz
张小三
orz orz orz orz
  搜索
  Tags
全部   Ubuntu   Linux   Python   Windows   Shell   转发   字体   循环   js   KMS   MySQL   html   DNS   css   多线程   VSCode   Office   安装   WinSCP   字典   原创   多进程   反向代理   领带   截取字符   随机数   随机   重定向   远程调试   进程池   进度条   网卡   线程池   电源   生活   激活   浏览器   日志   数据库   venv   vbs   uuid   IP   iostat   import   GitHub   dpkg   DHCP   curl   crx   CPU   cloud-init   BBR   Apt   iptables   Kitsunebi   kvm   tc   subprocess   SSH   SoftEther   Set   samba   pyflakes   pip   Nginx   NextCloud   List   libreoffice   Adobe  
  功能
You can put anything you want inside of these side widgets. They are easy to use, and feature the new Bootstrap 4 card containers!