如何使用shell脚本生成一个大小为300M的文件?

如何使用shell脚本生成一个大小为300M的文件?,第1张

有时候,我们需要生成模册键指定大小的随机文件,比如在学习过程中使用的测试文件。

dd命令用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

注意:指定数字的地方若以下旦巧列字符结尾则乘以相应的数字:b=512;c=1;k=1024;w=2

命令:

Linux:/qinys # dd if=/dev/zero of=tmp.data bs=100m count=3

命令解姿前释:

该命令会创建一个大小为100m的文件tmp.dataif代表输入文件(input file),of代表输出文件(output file),bs代表以字节为单位的块大小(block size,BS),count代表被复制的块数。(如果把count=3,那么文件大小为300M)《Linux就该这么学》一起学习linux

/dev/zero是一个字符设备,他会不断的返回0值字节(\0)

$RANDOM 是 Bash 中用来生成 0 至 32767 之间随机整数的一个内置 函数(而非常量)

不应 被用于生成密钥

样例-1. 生成随机数

样例-2. 从牌组中随机选牌

样咧-3. 模拟布朗运动

Jipe 提供了一些生成指定范围内随机数的方法

Bill Gradwohl 提出了一种改良后的仅适用于正数的公式

Bill 在这还给出了一个生成指定范围内随机数的通用函数

样例-4. 指定范围随机数

那么 $RANDOM 到底有多随机?最好的测试方法就是写数散一个脚本跟踪由 $RANDOM 生成的随机数的分布

接下来让我们多投几次由 $RANDOM 做的骰子

样例-5. 用 RANDOM 投骰子

从上一个样例中我们可以发现,在每次调用 RANDOM 生成器时,最好利用重置生成器种子

在 RANDOM 生成器中使用相同的种子会生成相同序列的随机数。(与 C 语言中的 random() 函数的行为一致)

样例-6. 重置 RANDOM 种子

伪设备文件 /dev/urandom 提供了比 $RANDOM 变量更随机化的伪随机数。命令 dd if=/dev/urandom of=targetfile bs=1 count=XXX 将会创建一个包含均匀分布的伪随机数的文件。但是想要在脚本中将这些随机数赋值给变量需要做一些变通,比如使用命令 od 或者使用管道导入命令 md5sum

当然也有其他在脚本中生成伪随机数的方法

比如: Awk 命令就提供了这样一种非常简易的方法

样例-7. 使用 awk 命令生成伪随机数

同样,命令 date 可以樱凳用于 生成整型随机数脊毕旅序列


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8226164.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存