目錄
- 一. `/dev/urandom`
- 1.1 dd 命令
- 1.2 head命令
- 1.3 隨機字母
- 二. openssl 命令
- 三. yes命令
一. /dev/urandom
?/dev/urandom
是 Linux 和 Unix 系統中的一個特殊文件,它是一個偽隨機數生成器,用于提供高吞吐量的隨機數據。
1.1 dd 命令
bs=1M count=10
:每次寫入1M的文件,共寫入10次status=progress
:用于在 dd 命令執行過程中顯示進度信息
dd if=/dev/urandom bs=1M count=10 of=test_content.txt status=progress
1.2 head命令
head -c 10M /dev/urandom > test_content.txt
# 隨機數據被轉換被 base64 編碼處理
head -c 10M /dev/urandom | base64 > test_content.txt
1.3 隨機字母
- 隨機生成10個隨機字母
cat /dev/urandom | tr -dc 'a-zA-Z' | head -c 10
?隨機生成1M的隨機字母+數字字符串
-d
:刪除(delete)-c
:取反(complement)- 刪除除了
a-zA-Z0-9
之外的所有字符
tr -dc 'a-zA-Z0-9' </dev/urandom | head -c 1M
二. openssl 命令
rand
:生成隨機字節數據-base64
:隨機數據編碼為 Base64 格式-hex
:隨機數據編碼為 十六進制格式$((1024*1024*10))
:10M的數據
openssl rand -base64 $((1024*1024*10)) -out test_content.txt
openssl rand -hex $((1024*1024*10)) -out test_content.txt
三. yes命令
?yes 命令是 Linux 中一個有趣且實用的工具,主要用于不斷輸出某個字符串,常見用途包括
- 自動確認提示
- 壓力測試等
# 因為不能讓yes命令一直執行下去,所以通過head命令限制輸出文件的大小
yes "hello world" | head -c 10M > repeated.txt