Как создать 1 ГБ случайный файл в Linux?

Я использую оболочку bash и хотел бы вывести из команды openssl rand -base64 1000 команду dd такую ​​как dd if={output of openssl} of="sample.txt bs=1G count=1 Я думаю Я могу использовать переменные, но я, тем не менее, не знаю, как это сделать. Причина, по которой я хочу создать файл, – это то, что я хотел бы получить 1 ГБ файл со случайным текстом.

  • Как я могу клонировать жесткий диск непосредственно на изображение vdi
  • Эквивалент окна для dd
  • Dd - просто скопируйте разделы
  • Почему «dd conv = разреженный» не сэкономил место, как я ожидал?
  • Как найти размер блока для чтения аппаратного блока для моего жесткого диска?
  • Переместить данные раздела с dd вправо
  • Есть ли способ полностью удалить Chrome OS на chromebook - и установить Linux (не с двойной загрузкой)
  • Попытка установить coreutils через MacPorts: «Ошибка: Port coreutils not found»
  • Как преобразовать документ DjVu в PDF в Linux, используя только инструменты командной строки?
  • Как заставить Zsh не сохранять неудачную команду
  • Копирование файла только в том случае, если оно новее, чем место назначения
  • Избегайте ffmpeg, чтобы потерять ключевые флеш-файлы
  • 4 Solutions collect form web for “Как создать 1 ГБ случайный файл в Linux?”

    if= не требуется, вы можете перевести что-то в dd :

     something... | dd of=sample.txt bs=1G count=1 

    Здесь было бы бесполезно, так как openssl rand требует указать количество байтов в любом случае. Так что вам действительно не нужно ddэто сработает:

     openssl rand -out sample.txt -base64 $(( 2**30 * 3/4 )) 

    1 гигабайт, как правило, 2 30 байт (хотя вы можете использовать 10**9 вместо 10 9 байт). Часть * 3/4 учитывает служебные данные Base64, делая кодированный вывод 1 ГБ.

    В качестве альтернативы вы можете использовать /dev/urandom , но это будет немного медленнее, чем OpenSSL:

     dd if=/dev/urandom of=sample.txt bs=1G count=1 

    Лично я бы использовал bs=64M count=16 или подобное:

     dd if=/dev/urandom of=sample.txt bs=64M count=16 

    Создайте файл с произвольным содержимым 1GB.bin:

    Dd if = / dev / urandom of = 1GB.bin bs = 64M count = 16 iflag = fullblock

    Попробуйте этот скрипт.

     #!/bin/bash openssl rand -base64 1000 | dd of=sample.txt bs=1G count=1 

    Этот скрипт может работать до тех пор, пока вы не против использования /dev/random .

     #!/bin/bash dd if=/dev/random of="sample.txt bs=1G count=1" 

    Если вы хотите ТОЧНО 1 ГБ, то вы можете использовать следующее:

    Openssl rand -out $ testfile -base64 792917038; Тестовый файл truncate -s-1 $

    Команда openssl делает файл в 1 байт слишком большим. Команда truncate отключает байт.

    Давайте будем гением компьютера.