Использование BSD jot для создания файла со случайным контентом

Ответить с цитированием

Большинство систем Linux поставляется с GNU seq (утилитой для генерации последовательностей чисел или символов). Однако гораздо более старая утилита – и более гибкая – недоиспользуемая и неизвестная утилита, jot. Каждая система BSD, включая MacOS X, будет поставляться с jot (а не с seq).

(…)

На самом деле для генерации большого файла (в этом случае 5Gb) попробуйте следующее:

jot -r -c -s '' $(( 1024 * 1024 * 5 )) > file.5gb 

Когда я пытаюсь это сделать, он генерирует файл размером 5 МБ.

 jot -r -c -s '' $(( 1024 * 1024 * 5 )) > file.5gb du -sh file.5gb 5.0M file.5gb 

Что делает эта команда? Как указать размер, например, 2 ГБ файла? Является ли это рекомендуемым способом генерации случайных файлов содержимого в macOS? Используете ли вы другие инструменты для файлов случайного контента?

seq не может генерировать случайный контент. Это верно?

  • Переменная IFS игнорируется в системе ()
  • Какое распределение вы предлагаете для ежедневного использования?
  • bash: невозможно создать временный файл для здесь-документа: на устройстве нет места
  • Проблема с командой awk
  • Поиск файлов на основе MD5 и удаление
  • Ожидание двух событий
  • В bash можно ли использовать целочисленную переменную в управлении циклом цикла for?
  • shell scripting - несколько тестов равенства в одном выражении if
  • One Solution collect form web for “Использование BSD jot для создания файла со случайным контентом”

    Пример немного неправильный, и результат правильный. Позволь мне объяснить.

    $(( 1024 * 1024 * 5 )) – это просто сумма, но она будет работать только в среде оболочки sh . Например:

     sh echo $(( 1024 * 1024 * 5)) 5242880 

    Эта часть отсортирована, назад к jot . -r для «случайных данных», и это должно быть то, что вы найдете в файле.

    -c является сокращением, и тем же, что и с -w %c . Хотя я не совсем уверен, что означает %c , он, похоже, создает один байт случайных данных. Вы можете поменять -c на -bx и вы получите тот же файл размера, но он будет содержать только x повторяющийся.

    Далее – -s '' что означает, что никакая строка не возвращается. Без этого после каждого символа (или случайных данных) будет возвращаться строка. Ваш файл также должен быть в два раза больше.

    Следующая часть – $(( 1024 * 1024 * 5 )) . Это количество «данных» для производства. Как показано выше, эта сумма составляет номер 5242880 (который составляет всего 5 Мбайт), и насколько велика будет файл размером 1 байт для возврата задней линии. Например:

     sh jot -r -c -s '' $(( 1024 * 1024 * 5 )) > file.5mb ls -al file.5mb -rw-r--r-- 1 tigger tigger 5242881 2 Apr 15:39 file.5mb 
    Interesting Posts

    Как извлечь строки из текстового файла, который содержит строки из списка в другом файле?

    Sed заменить не функционирует, как ожидалось

    Dogtag CA после установки

    Сохраните весь процесс для продолжения после перезагрузки

    AltGr не работает как клавиша 3 уровня выбора

    Что означают все буквы и цифры в номере версии RPM Red Hat, например, openssl-devel-0.9.8e-27.el5_10.1?

    Короткая простая команда для создания группы, если она еще не существует?

    Как найти изменения в файле последней модификации?

    Безопасно ли разделять бинарные файлы в Linux Mint?

    Как загрузить ISO и непосредственно создать загрузочный USB

    Настройка Snapper / snapshots на Fedora 23

    Является ли `var = value builtin` таким же, как` var = value; builtin`?

    запускать внешнюю программу в фоновом режиме внутри цикла

    Удалить многострочный текст со специальными символами из всех файлов в папке

    Как остановить дисковое приложение gnome от спам-сообщений с сообщениями об ошибках диска до тех пор, пока моя X-сессия не замерзнет?

    Linux и Unix - лучшая ОС в мире.