且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

生成10个随机文件

更新时间:2022-09-29 23:35:33

要求:生成10个文件且文件名为10个字符长度。

Linux中产生随机数的六种方法:

方法一:通过系统环境变量($RANDOM)实现,实例:

[root@mysql-db01 scripts]# echo $RANDOM

20305

[root@mysql-db01 scripts]# echo $RANDOM

1533


方法二:通过OpenSSL产生随机数,实例如下:

[root@mysql-db01 scripts]# openssl rand -base64 20

xq3TTgKFEbVM91vOxaVlFcm9/5k=

[root@mysql-db01 scripts]# openssl rand -base64 8

85jksJtRW+4=


方法三:通过时间(date)获取随机数,实例如下:

[root@mysql-db01 scripts]# date +%s%N

1500541761385704079

[root@mysql-db01 scripts]# date +%s%N

1500541763206051706


方法四:通过/dev/urandom配合chksum生成随机数,实例如下:

[root@mysql-db01 scripts]# head /dev/urandom |cksum

3528005773 4145

[root@mysql-db01 scripts]# head /dev/urandom |cksum

397462229 2644

注意:后面必须带cksum,否则是乱码


方法五:通过UUID生成随机数,实例如下:

[root@mysql-db01 scripts]# cat /proc/sys/kernel/random/uuid 

be6f6907-ae36-445a-9711-f3bc7ee87cf8

[root@mysql-db01 scripts]# cat /proc/sys/kernel/random/uuid 

bf3ca383-db40-41f0-9d61-92e7763d71ce



具体实现代码如下:

#!/bin/bash

#Author:dadong

#Blog:http://dadonggg.blog.51cto.com

#Time:2017-07-06 19:25:10

#Name:cd.sh

#Version:V1.0

#Description:This is a test script.

path=/data

[ -d $path ]|| mkdir $path && cd $path

for i in {1..10}

do

     name=`cat /proc/sys/kernel/random/uuid|cut -c 1-10`

     touch ${name}.oldboy.html

done

本文转自写个博客骗钱博客51CTO博客,原文链接http://blog.51cto.com/dadonggg/1949908如需转载请自行联系原作者


菜鸟东哥