linux 命令行随机数,Linux shell命令实现生成随机数方法研究

shell作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

Shell基本上是一个命令解释器,类似于DOS下的command。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。

本文将介绍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内核。

以上是Linux shell实现生成随机数的四种方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值