Linux 随机数据生成

目录

  • [一. `/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
相关推荐
名字还没想好☜17 分钟前
Docker buildx 多架构镜像实战:一次构建 amd64+arm64,告别 exec format error
运维·docker·eureka·架构·kubernetes
智购科技无人售货机厂家34 分钟前
2026自动售货机备用电池管理系统设计:从充放电保护到健康监测的工程实践~YH
大数据·linux·单片机·嵌入式硬件·微信
小雪崩36 分钟前
嵌入式学习 day39:TCP并发服务器模型
linux·服务器·c语言·网络·学习·tcp/ip
智购无人售货机厂家42 分钟前
2026自动售货机软硬件版本管理策略:从版本号规范到兼容性矩阵的工程实践~YH
运维·服务器·人工智能·单片机·嵌入式硬件·线性代数·矩阵
spencer_tseng1 小时前
[j2cache ehcache.xml]/tmp/.ehcache-diskstore.lock (Permission denied)
xml·linux·python·ehcache·[j2cache
内核笔记1 小时前
休眠唤醒 standby 调试
linux·bsp
小白不想画工图1 小时前
银河麒麟V10系统安装QT5.12
linux·开发语言·qt·银河麒麟
bksczm1 小时前
Linux 五种 I/O 模型与多路复用详解
运维·服务器·网络
wjcroom1 小时前
FileBrowser的docker运行了改变密码长度的做法
运维·docker·容器
IT爱学堂1 小时前
新版Linux零基础入门到高手Rocky版本-替换CentOS(完结)
linux·运维·centos