當前位置:首頁 » 操作系統 » linux隨機

linux隨機

發布時間: 2022-03-15 05:13:05

A. 如何獲得隨機安裝的linux

這個沒有隨機盤的,因為本身linux都是開源免費的,要安裝需要自己下載iso文件,製作啟動盤(光碟、U盤),然後自己安裝。

B. linux 隨機數

$RANDOM這個shell變數里存的就是一個隨機數
直接拿來用就行
echo $RANDOM
a=$RANDOM

每次產生的數都是隨機的,范圍0~32767

C. shell生成隨機數的幾種方法

(1)通過內部系統變數($RANDOM)
#!/bin/bash
function rand(){
min=$1
max=$(($2-$min+1))
num=$(($RANDOM+1000000000)) #增加一個10位的數再求余
echo $(($num%$max+$min))
}
rnd=$(rand 400000 500000)
echo $rnd
exit 0
(2)使用awk的隨機函數
awk 'BEGIN{srand();print rand()*1000000}' #可以加上if判斷,779644
(3)openssl rand產生隨機數
openssl rand 用於產生指定長度個bytes的隨機字元。-base64或-hex對隨機字元串進行base64編碼或用hex格式顯示。
openssl rand -base64 8 | md5sum | cut -c1-8 #八位字母和數字的組合,3a61800e

openssl rand -base64 8 | cksum | cut -c1-8 #八位數字,10784736

(4)通過時間獲得隨機數(date)
date +%s%N #生成19位數字,1287764807051101270
date +%s%N | cut -c6-13 #取八位數字,21793709
date +%s%N | md5sum | head -c 8 #八位字母和數字的組合,87022fda

D. Linux shell怎麼從20W數據中隨機的抽取2W

#!/bin/bash
sort -R a.txt | head -20000
##
sort隨機排序,然後取前20000,實現出來就是隨機抽取20000.

E. 如何在linux中用命令產生一個范圍內的隨機數

在shell中有一個環境變數RANDOM,它的范圍是0--32767
如果我們想要產生0-25范圍內的數,如下:
$RANDOM%26
用這個環境變數對26取模,就可以得到最小是0,最大是25的數了。
如果想得到1--68范圍內的數,可以這樣
$RANDOM%68+1,
前面可以得到最小為0,最大為67的隨機數,再加上1,很自然的就可以得到最大為1,最小為68的數了。
如果想得到6--87范圍內的數。可以這樣
$RANDOM%82+6,
前面可以得到最小為0,最大為81的隨機數,再加上6,很自然的就可以得到最大為87,最小為6的數了。

F. 在linux中,能生成真正的隨機數嗎如何生成

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i;
for(i=0;i< 10;i++)
{
printf(" %d ", rand());
}
printf(" ");
return 0;
}

試試這個。

G. Linux下的random()和srand(arg), rand()這兩個生成的隨機數有什麼區別。

首先我把這三個函數原型給你看一下
long random(void);
int rand(void);
void srand(unsigned seed);
random返回的是一個0到(2^31 - 1)的long類型整數
rand返回的是一個0到RAND_MAX的int類型整數

而你這里產生的隨機數序列是一樣的,這個很好解釋,因為你知道srand,但是你卻不知道還有一個srandom,這個函數是為random設置種子的,參數和srand一樣。
我的幫助手冊上甚至是這么寫的:
The random() and srandom() functions have (almost) the same calling sequence
and initialization properties as the rand(3) and srand(3) functions. The
difference is that rand(3) proces a much less random sequence -- in fact,
the low dozen bits generated by rand go through a cyclic pattern. All of
the bits generated by random() are usable. For example, `random()&01' will
proce a random binary value.

=============================
希望我的回答能給你帶來幫助

H. linux計算隨機產生的一百個數的和

下面的命令將隨機生成1-1000之間的100個隨機數,並求和輸出:


shuf -i 1-1000 -n 100|awk '{sum+=$1} END {print "Sum = ", sum}'


輸出:Sum = 52997

I. linux怎樣隨機生成uuid

命令:uuidgen

J. 如何在Linux系統通過命令行生成隨機文件

A、當你不需要關心隨機文件的內容,只需一個固定大小的文件

1、Solaris、Mac OS X等Unix系統中mkfile指令,可以產生指定大小的文件,而Linux上則沒有

例子:
mkfile -n 160g test1

2、Linux可以用dd指令,/dev/zero是一個特別的文件描述符可以通過它返回null值

例子:
dd if=/dev/zero of=test.file count=1024 bs=1024

產生count * bs位元組的文件,1M

此方法生成隨機文件的好處在於效率高(產生1G文件大概1s),創建的文件大小精確到位元組

壞處也有

使用null字元來填充文件內容,文件統計時沒有行(wc -l test.file為0)

B、當你不需要關心隨機文件的內容,但期望測試文件能有統計的行

將/dev/zero改為/dev/urandom,/dev/urandom是linux下的隨機數生成器

關於/dev/urandom跟/dev/random兩者的區別就不在此詳細討論,大概就是,前者是不受系統interrupts的限制,即使沒有足夠的interrupt它也能通過隨機數生成器產生足夠的輸出值;而後者如果用在dd上,它不能被ctrl+c或者kill -9中斷,如果ds的值較大時,產生的隨機值不足而長期佔用CPU。雖然說/dev/random產生的隨機數會更隨機些,但與dd混用還是建議用/dev/urandom效率更高。

缺點跟/dev/zero比當然是效率會更低些了,生成個100Mb的文件需要10秒左右,而且文件並沒有可讀的內容,一般的情況基本上是滿足了。

漏了說句,dd是linux與unix都支持的指令。

C、當你關心文件的隨機內容行數,而不關心內容是否有所重復

這里的思路就是找一個參照文件(比如說2行),將文件重新定向到新的文件,再mv覆蓋保存,外加一個for循環。(n為循環次數,產生的文件行為2^(n+1))

例子:假設先建立一個file.txt文件,裡面含有Hello 和 World兩行

for i in {1..n}; do cat file.txt file.txt > file2.txt && mv file2.txt file.txt; done

由於是階乘,n=20左右已經是200W行,效率會下降地比較厲害

D、當你關心隨機文件的內容,而不想出現重復內容行情況

這種情況下系統的指令應該是不能滿足了,或者可以通過操作系統的指令寫一大串腳本也可以達到,但不建議這么做,因為可讀性和維護性考慮,你應該要引入Ruby或者Python類的腳本語言幫忙了

但還是要藉助些系統的東西來幫忙

思路:

/usr/share/dict/words裡面有記錄一些單詞,一共235886行,每行一個單詞

可以從裡面挑選一些作為文件的內容

加循環達到我們想要的隨機文件要求

舉例:

ruby -e 'a=STDIN.readlines;X.times do; b=[];Y.times do; b<<a[rand(a.size)].chomp end; puts b.join(" ")' < /usr/share/dict/words > file.txt

X為隨機文件需要的行數,Y為從words中讀取的單詞,雖說組合成一句的命令,還是可以讀懂的;從標准輸入中重復讀取Y個單詞,寫入到b列表中,然後再通過join空格連接內容寫入到標准輸出文件file.txt中

這樣基本很少會有重復的行了,而且生成的效率與其他方法對比還是可以的,10秒生成100Mb文件。歡迎大家討論。

熱點內容
androidxml換行 發布:2024-09-25 15:05:59 瀏覽:113
plsql導出資料庫備份 發布:2024-09-25 14:54:49 瀏覽:667
androidndkwindows 發布:2024-09-25 14:53:25 瀏覽:534
銳普數控許可權密碼是多少 發布:2024-09-25 14:53:12 瀏覽:944
泛型編程java 發布:2024-09-25 14:08:06 瀏覽:982
linux配置環境變數文件 發布:2024-09-25 13:58:49 瀏覽:265
備份集中的資料庫備份與現有的不同 發布:2024-09-25 13:58:27 瀏覽:480
網路ip存儲伺服器 發布:2024-09-25 13:57:13 瀏覽:378
銀行存儲介質最終結果 發布:2024-09-25 13:55:41 瀏覽:111
linux顯卡信息 發布:2024-09-25 13:28:36 瀏覽:552