Come posso usare /dev/(u)random
su Ubuntu o su qualsiasi sistema * nix?
Ho provato questo, ma dice permesso negato.
Nota: ho anche provato come root.
/dev/(u)random
sudo /dev/(u)random
sudo -s; /dev/(u)random
Come posso usare /dev/(u)random
su Ubuntu o su qualsiasi sistema * nix?
Ho provato questo, ma dice permesso negato.
Nota: ho anche provato come root.
/dev/(u)random
sudo /dev/(u)random
sudo -s; /dev/(u)random
Risposte:
È un dispositivo simile a un file, quindi puoi fare cose come cat it o copiarlo da esso. Per esempio:
dd if=/dev/urandom of=~/urandom_test count=4 bs=1024
Crea un file contenente 4K di byte casuali.
cat /dev/urandom > ~/urandom_test2
Continuerà a scrivere byte casuali su quel file finché non premi Ctrl-C. Non farlo su un sistema a basse prestazioni ...
head -30 /dev/urandom > ~/urandom_test3
Scriverà 30 righe di byte casuali
bytes terminated by a \n
. Qual è il tuo? head -30 /dev/urandom
ti darà 30 righe di byte casuali. La lunghezza di quelle linee sarà sicuramente casuale. Prova a eseguire wc -l
il tuo file di output se non sei convinto.
/dev/urandom
è limitato a 32 MiB per read()
e dd
non riprovare a leggere ancora una volta /dev/urandom
rese quelle 32 MiB, quindi bisogna chiamare dd
con iflag=fullblock
. Guarda che dd sta producendo un file casuale da 32 MB invece di 1 GB
Se hai bisogno di un certo numero di byte casuali, leggi quel numero di byte da /dev/urandom
.
È un "file speciale" creato per essere come un file da cui leggere numeri casuali.
Usare cat
per leggere /dev/urandom
è una cattiva idea, perché proverà a leggere /dev/urandom
fino alla fine, ma non finisce.
È possibile utilizzare head
. Ma fai attenzione a leggere per byte, non per riga, perché le linee verrebbero separate casualmente da byte casuali di newline.
Quindi, per leggere 30 byte casuali in un file random.bytes
, utilizzare:
head -c 30 /dev/urandom > random.bytes
Puoi leggere da esso come un normale utente.
Normalmente, si desidera utilizzare /dev/urandom
, non è /dev/random
.
Il problema è che /dev/random
è difficile da usare nel modo giusto e facile da usare nel modo sbagliato. Usarlo in modo errato all'inizio funziona, ma crea strani problemi di prestazione, anche casuali, in seguito. A volte.
Quando lo usi /dev/urandom
, utilizza /dev/random
internamente, prendendosi cura delle parti difficili.
RANDOM
per creare numeri interi positivi casuali:echo $RANDOM
e il programmashuf
per generare permutazioni casuali, ad esempio riprodurre in ordine casuale da una playlist.