Як я можу створити новий файл і заповнити його випадковими даними на 1 гігабайт? Мені це потрібно для тестування деякого програмного забезпечення.
Я б волів використовувати /dev/random
або /dev/urandom
.
Як я можу створити новий файл і заповнити його випадковими даними на 1 гігабайт? Мені це потрібно для тестування деякого програмного забезпечення.
Я б волів використовувати /dev/random
або /dev/urandom
.
Відповіді:
На більшості уніцій:
head -c 1G </dev/urandom >myfile
Якщо ваш суфікс head
не розуміє, G
ви можете вказати розмір у байтах:
head -c 1073741824 </dev/urandom >myfile
Якщо ви head
не розумієте -c
варіант (звичайний, але не POSIX; у вас, ймовірно, є OpenBSD):
dd bs=1024 count=1048576 </dev/urandom >myfile
Не використовуйте /dev/random
в Linux, використовуйте /dev/urandom
.
head
не розуміє -c
на моїй машині Solaris 10.
head
можна читати /dev/urandom
, але tail
не вміє.
tail
спочатку намагається перейти до кінця вхідного файлу, який займає назавжди (буквально).
/dev/zero
також, якщо вам не подобається різноманітність.
Якщо припустити, що псевдовипадкових даних достатньо, dd if=/dev/urandom of=target-file bs=1M count=1000
зробиш те, що ти хочеш.
dd (1) буде читати блоки даних із вхідного файлу і записувати їх у вихідний файл. Мова командного рядка трохи химерна, але це один із тих дійсно корисних інструментів, якими варто опанувати основи.
У цьому випадку if
вхідний файл, of
вихідний файл, bs
"розмір блоку" - і я використовував розширення GNU, щоб зручніше встановити розмір. (Ви також можете використовувати 1048576, якщо у вас dd
немає розширення GNU.) count
- це кількість блоків, з яких слід читати if
та писати of
.
/dev/urandom
є кращим вибором, ніж /dev/random
becuase, в Linux він повернеться до сильних псевдовипадкових даних, а не блокується, коли справді випадкові дані будуть вичерпані.
Ви також можете розглянути http://www.random.org/ як інший шлях до отримання деяких випадкових даних без необхідності їх генерування.
1M
доступні не у кожному стандартному dd
варіанті. Якщо ваша версія версії dd
порушена, використовуйте bs=1048576
.
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee 5000kb
Використовується для отримання даних про випадкові символи 5 Мб. Якщо вам потрібен різний розмір, змініть -c
значення заголовка, змініть назву поточного файлу, виконайте і почекайте, поки виконання завершиться.
vi
зvi -w randomfile
і попросити кого - то , хто ніколи не бачив ,vi
щоб вийти з програми. ;)