Обратите внимание, что эти команды следует использовать только тогда, когда вам действительно нужны высококачественные случайные данные, как правило, для создания надежных паролей. В противном случае есть более легкие альтернативы, например, «переменная» среды оболочки RANDOMдля создания случайных положительных целых чисел: echo $RANDOMи программа shufдля генерации случайных перестановок, например, воспроизведение в случайном порядке из списка воспроизведения.
Судодус
Ответы:
54
Это устройство, похожее на файл, так что вы можете делать такие вещи, как cat it или копировать с него. Например:
Примечание: не делайте cat / dev / urandom> ~ / urandom_test2 на низкоэффективных системах -> это останавливает систему
Caner Korkmaz
1
Ну .. это действительно зависит от вашего определения линии. Мое определение bytes terminated by a \n. Что твое? head -30 /dev/urandomдаст вам 30 строк случайных байтов. Длина этих строк, безусловно, будет случайной. Попробуйте запустить wc -lвыходной файл, если вы не уверены.
айчеди
3
Обратите внимание , что /dev/urandomограничивается до 32 Мбайт за read()и ddне будет пытаться прочитать еще раз /dev/urandomдоходности тех 32 MiB, так что вы должны позвонить ddс iflag=fullblock. Смотрите, дд создает 32 МБ случайного файла вместо 1 ГБ
Сергей Колодяжный,
14
Получить случайные байты
Если вам нужно определенное количество случайных байтов, прочитайте это количество байтов из /dev/urandom.
Это «специальный файл», который сделан как файл для чтения случайных чисел.
Использование catдля чтения /dev/urandomявляется плохой идеей, потому что он будет пытаться читать /dev/urandomдо конца - но это не конец.
Вы можете использовать head. Но будьте внимательны при чтении по байтам, а не по строкам - потому что строки будут случайно разделены случайными байтами новой строки.
Итак, чтобы прочитать 30 случайных байтов в файл random.bytes, используйте:
head -c 30/dev/urandom > random.bytes
Вы можете читать с него как обычный пользователь.
Оставьте в покое / dev / random
Обычно вы хотите использовать /dev/urandom, а не /dev/random.
Проблема в том, что /dev/randomего трудно использовать правильным образом и легко использовать неправильно. Поначалу неправильное использование работает, но позже создает странные - даже случайные - проблемы с производительностью. Иногда.
Когда вы используете /dev/urandom, он использует /dev/randomвнутренне, заботясь о хитрых частях.
RANDOM
для создания случайных положительных целых чисел:echo $RANDOM
и программаshuf
для генерации случайных перестановок, например, воспроизведение в случайном порядке из списка воспроизведения.Ответы:
Это устройство, похожее на файл, так что вы можете делать такие вещи, как cat it или копировать с него. Например:
Создает файл, содержащий 4 КБ случайных байтов.
Будет продолжать записывать случайные байты в этот файл, пока вы не нажмете Ctrl-C. Не делайте этого на низкоэффективной системе ...
Напишем 30 строк случайных байтов
источник
bytes terminated by a \n
. Что твое?head -30 /dev/urandom
даст вам 30 строк случайных байтов. Длина этих строк, безусловно, будет случайной. Попробуйте запуститьwc -l
выходной файл, если вы не уверены./dev/urandom
ограничивается до 32 Мбайт заread()
иdd
не будет пытаться прочитать еще раз/dev/urandom
доходности тех 32 MiB, так что вы должны позвонитьdd
сiflag=fullblock
. Смотрите, дд создает 32 МБ случайного файла вместо 1 ГБПолучить случайные байты
Если вам нужно определенное количество случайных байтов, прочитайте это количество байтов из
/dev/urandom
.Это «специальный файл», который сделан как файл для чтения случайных чисел.
Использование
cat
для чтения/dev/urandom
является плохой идеей, потому что он будет пытаться читать/dev/urandom
до конца - но это не конец.Вы можете использовать
head
. Но будьте внимательны при чтении по байтам, а не по строкам - потому что строки будут случайно разделены случайными байтами новой строки.Итак, чтобы прочитать 30 случайных байтов в файл
random.bytes
, используйте:Вы можете читать с него как обычный пользователь.
Оставьте в покое / dev / random
Обычно вы хотите использовать
/dev/urandom
, а не/dev/random
.Проблема в том, что
/dev/random
его трудно использовать правильным образом и легко использовать неправильно. Поначалу неправильное использование работает, но позже создает странные - даже случайные - проблемы с производительностью. Иногда.Когда вы используете
/dev/urandom
, он использует/dev/random
внутренне, заботясь о хитрых частях.источник
Если вы хотите просто прочитать его с распознанными номерами, вы можете сделать
источник
Я лично использую это для генерации токенов:
источник