方法1:使用/dev/urandom

[root@localhost shell]# tr -dc "0-9" < /dev/urandom | head -c 10        #生成10个数字
5798734885[root@localhost shell]# 
[root@localhost shell]# 
[root@localhost shell]# tr -dc "a-z" < /dev/urandom | head -c 10        #生成10个小写字符
xxcudpzyfu[root@localhost shell]# 
[root@localhost shell]# tr -dc "A-Z" < /dev/urandom | head -c 10        #生成10个大写字符
XFDBEFCDKV[root@localhost shell]# 
[root@localhost shell]# tr -dc "0-9,a-z" < /dev/urandom | head -c 10  #生成数字和字符的组合
ryjhjhnpyd[root@localhost shell]#


方法二:使用date +%s


  1. 随机生成一串数字

root@vmUbu:/home/dell/shell# date +%s |cksum |cut -d " " -f 1 
1934689009

扩展:随机生成10以内的数字

root@vmUbu:/home/dell/shell# echo "`date +%s |cksum |cut -d " " -f 1`%100" |bc
81

2.随机生成一串小写字母

root@vmUbu:/home/dell/shell# date +%s| md5sum | tr -dc "a-z" |head -c 10
cdacabaebroot@vmUbu:/home/dell/shell#


3.随机生成数字与字母的组合

root@vmUbu:/home/dell/shell# date +%s| md5sum | head -c 10
67e


方法三:使用openssl rand

root@vmUbu:/home/dell/shell# openssl rand -base64  40
C6S7WofBX3S4imkZb9mHDkcYWZyreae0lAUqPLPcaeX+KF8HaKXOrw==