Использование 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 не может генерировать случайный контент. Это верно?

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 
  • Что не так с `if ($ num1 -eq 0) || ($ num2 -eq 0) `в сценарии оболочки bash?
  • Как сделать аргумент cd аргументов нечувствительным?
  • Как я могу переслать уже пересылаемый ssh-ключ в tmux?
  • Попытка сделать псевдонимы, которые открывают последний измененный файл
  • почему ! символ, используемый в сценариях оболочки
  • Идентификатор процесса печати (PID) экземпляра Matlab
  • Как я могу упростить этот сценарий bash, который печатает количество файлов в рабочем каталоге?
  • Сценарий оболочки для извлечения текста с веб-сайта
  • Как я могу grep для строки, содержащей метасимволы регулярных выражений, такие как $ и?
  • Почему файл rc.status устанавливает локаль LC_ALL
  • встроенная функция экспорта bash
  • Linux и Unix - лучшая ОС в мире.