目录
- [一. `/dev/urandom`](#一.
/dev/urandom
) -
- [1.1 dd 命令](#1.1 dd 命令)
- [1.2 head命令](#1.2 head命令)
- [1.3 随机字母](#1.3 随机字母)
- [二. openssl 命令](#二. openssl 命令)
- [三. yes命令](#三. yes命令)
一. /dev/urandom
⏹/dev/urandom
是 Linux 和 Unix 系统中的一个特殊文件,它是一个伪随机数生成器,用于提供高吞吐量的随机数据。
1.1 dd 命令
bs=1M count=10
:每次写入1M的文件,共写入10次status=progress
:用于在 dd 命令执行过程中显示进度信息
bash
dd if=/dev/urandom bs=1M count=10 of=test_content.txt status=progress
1.2 head命令
bash
head -c 10M /dev/urandom > test_content.txt
# 随机数据被转换被 base64 编码处理
head -c 10M /dev/urandom | base64 > test_content.txt
1.3 随机字母
- 随机生成10个随机字母
bash
cat /dev/urandom | tr -dc 'a-zA-Z' | head -c 10
⏹随机生成1M的随机字母+数字字符串
-d
:删除(delete)-c
:取反(complement)- 删除除了
a-zA-Z0-9
之外的所有字符
bash
tr -dc 'a-zA-Z0-9' </dev/urandom | head -c 1M
二. openssl 命令
rand
:生成随机字节数据-base64
:随机数据编码为 Base64 格式-hex
:随机数据编码为 十六进制格式$((1024*1024*10))
:10M的数据
bash
openssl rand -base64 $((1024*1024*10)) -out test_content.txt
openssl rand -hex $((1024*1024*10)) -out test_content.txt
三. yes命令
⏹yes 命令是 Linux 中一个有趣且实用的工具,主要用于不断输出某个字符串,常见用途包括
- 自动确认提示
- 压力测试等
bash
# 因为不能让yes命令一直执行下去,所以通过head命令限制输出文件的大小
yes "hello world" | head -c 10M > repeated.txt