linux 中 产生随机数

 

001、$RANDOM; $RANDOM用于生成0—32767的随机数

[root@PC1 test05]# echo $RANDOM
21160
[root@PC1 test05]# echo $RANDOM
17006
[root@PC1 test05]# echo $RANDOM
3979

 

002、产生0到2的随机数

[root@PC1 test05]# expr $RANDOM % 3
2
[root@PC1 test05]# expr $RANDOM % 3
1
[root@PC1 test05]# expr $RANDOM % 3
1
[root@PC1 test05]# expr $RANDOM % 3
0
[root@PC1 test05]# expr $RANDOM % 3
0
[root@PC1 test05]# expr $RANDOM % 3
2
[root@PC1 test05]# expr $RANDOM % 3
1

 

003、生成1到3的随机数

[root@PC1 test05]# expr $RANDOM % 3 + 1
3
[root@PC1 test05]# expr $RANDOM % 3 + 1
2
[root@PC1 test05]# expr $RANDOM % 3 + 1
1
[root@PC1 test05]# expr $RANDOM % 3 + 1
3
[root@PC1 test05]# expr $RANDOM % 3 + 1
1
[root@PC1 test05]# expr $RANDOM % 3 + 1
2

 

005、seq  + sort实现,产生1到10的随机数

[root@PC1 test05]# seq 10 | sort -R | head -n 1
2
[root@PC1 test05]# seq 10 | sort -R | head -n 1
2
[root@PC1 test05]# seq 10 | sort -R | head -n 1
6
[root@PC1 test05]# seq 10 | sort -R | head -n 1
10
[root@PC1 test05]# seq 10 | sort -R | head -n 1
7

 。

 

006、通过openssl产生随机数

[root@PC1 test02]# openssl rand -base64 8     ## 大小写字母 + 数字 + 特殊符号
Hlo0jX65N0c=
[root@PC1 test02]# openssl rand -base64 8
t19f+aFmihY=
[root@PC1 test02]# openssl rand -base64 8
9vMszyPf9ss=

 

007、通过时间(date)获取随机数

[root@PC1 test02]# date +%s%N
1690122837531629791
[root@PC1 test02]# date +%s%N
1690122838224833028
[root@PC1 test02]# date +%s%N
1690122838934584522
[root@PC1 test02]# date +%s%N
1690122840016111620

 

008、通过/dev/urandom配合cksum生成随机数

[root@PC1 test02]# head /dev/urandom|cksum
3214927257 2023
[root@PC1 test02]# head /dev/urandom|cksum
3501446601 3253
[root@PC1 test02]# head /dev/urandom|cksum
1543589339 2449
[root@PC1 test02]# head /dev/urandom|cksum
1027962865 3500

 。

 

009、

[root@PC1 test02]# cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1
izxesjogfl
[root@PC1 test02]# cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1
ezhitupyvv
[root@PC1 test02]# cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1
hpljhfmcvc

 

010、

[root@PC1 test02]# mkpasswd -l 50 | tr -dc 'a-z'|cut -c 1-10      ## 产生10位随机小写字母
waywottekh
[root@PC1 test02]# mkpasswd -l 50 | tr -dc 'a-z'|cut -c 1-10
gfccibonfd

 

011、

[root@PC1 test02]# echo $RANDOM| md5sum | tr -cd a-z | cut -c 1-10
bfebcbbfed
[root@PC1 test02]# echo $RANDOM| md5sum | tr -cd a-z | cut -c 1-10
eeffafffcf
[root@PC1 test02]# echo $RANDOM| md5sum | tr -cd a-z | cut -c 1-10
faefbcbdfe

 

 

参考:https://blog.csdn.net/Sapphire521/article/details/128324743

 

posted @ 2023-07-22 15:46  小鲨鱼2018  阅读(700)  评论(0编辑  收藏  举报