मैं /dev/(u)random
Ubuntu या किसी * nix sistems पर कैसे उपयोग कर सकता हूं ?
मैंने यह कोशिश की, लेकिन यह कहता है कि अनुमति से इनकार कर दिया।
नोट: मैंने रूट के रूप में भी प्रयास किया।
/dev/(u)random
sudo /dev/(u)random
sudo -s; /dev/(u)random
मैं /dev/(u)random
Ubuntu या किसी * nix sistems पर कैसे उपयोग कर सकता हूं ?
मैंने यह कोशिश की, लेकिन यह कहता है कि अनुमति से इनकार कर दिया।
नोट: मैंने रूट के रूप में भी प्रयास किया।
/dev/(u)random
sudo /dev/(u)random
sudo -s; /dev/(u)random
जवाबों:
यह डिवाइस की तरह एक फ़ाइल है, इसलिए आप इसे बिल्ली या उससे कॉपी जैसी चीजें कर सकते हैं। उदाहरण के लिए:
dd if=/dev/urandom of=~/urandom_test count=4 bs=1024
यादृच्छिक बाइट्स के 4K युक्त एक फ़ाइल बनाता है।
cat /dev/urandom > ~/urandom_test2
जब तक आप Ctrl-C नहीं मारते, तब तक आप उस फ़ाइल को यादृच्छिक बाइट्स लिखना जारी रखेंगे। कम प्रदर्शन प्रणाली पर ऐसा न करें ...
head -30 /dev/urandom > ~/urandom_test3
यादृच्छिक बाइट्स की 30 लाइनें लिखेंगे
bytes terminated by a \n
। आपका क्या है? head -30 /dev/urandom
आपको यादृच्छिक बाइट्स की 30 लाइनें देगा। उन पंक्तियों की लंबाई निश्चित रूप से यादृच्छिक होगी। wc -l
यदि आप आश्वस्त नहीं हैं तो अपनी आउटपुट फ़ाइल पर चलने का प्रयास करें ।
/dev/urandom
प्रति 32 MiB तक सीमित है read()
और उन 32 MiB पैदावार dd
करने के लिए एक बार फिर पढ़ने की कोशिश नहीं करेगा /dev/urandom
, इसलिए आपको कॉल dd
करना होगा iflag=fullblock
। देखें dd 1 GB के बजाय 32 MB रैंडम फ़ाइल का निर्माण कर रहा है
यदि आपको एक निश्चित संख्या में यादृच्छिक बाइट्स की आवश्यकता है, तो उस बाइट्स की संख्या को पढ़ें /dev/urandom
।
यह एक "विशेष फ़ाइल" है जो यादृच्छिक संख्याओं को पढ़ने के लिए फ़ाइल की तरह बनती है।
cat
से पढ़ने का उपयोग करना /dev/urandom
एक बुरा विचार है, क्योंकि यह /dev/urandom
अंत तक पढ़ने की कोशिश करेगा - लेकिन यह समाप्त नहीं होता है।
आप उपयोग कर सकते हैं head
। लेकिन ध्यान रखें कि बाइट से पढ़ें, रेखा से नहीं - क्योंकि लाइनों को यादृच्छिक रूप से नईलाइन बाइट्स द्वारा अलग किया जाएगा।
इसलिए, एक फ़ाइल में 30 यादृच्छिक बाइट्स पढ़ने के लिए random.bytes
, उपयोग करें:
head -c 30 /dev/urandom > random.bytes
आप इसे सामान्य उपयोगकर्ता के रूप में पढ़ सकते हैं।
आम तौर पर, आप उपयोग करना चाहते हैं /dev/urandom
, नहीं /dev/random
।
समस्या यह है कि /dev/random
सही तरीके से उपयोग करना कठिन है - और गलत तरीके से उपयोग करना आसान है। इसका उपयोग करना गलत काम करता है, लेकिन बाद में अजीब - यहां तक कि यादृच्छिक - प्रदर्शन समस्याएं पैदा करता है। कभी कभी।
जब आप उपयोग करते हैं /dev/urandom
, तो यह /dev/random
पेचीदा भागों की देखभाल करते हुए, आंतरिक रूप से उपयोग करता है ।
RANDOM
लिए यादृच्छिक सकारात्मक पूर्णांक संख्या बनाने के लिए शेल वातावरण 'चर' :echo $RANDOM
और यादृच्छिक क्रमांकshuf
उत्पन्न करने के लिए प्रोग्राम , उदाहरण के लिए एक प्लेलिस्ट से यादृच्छिक क्रम में खेलते हैं।