Поиск по сайту:

Как создать файлы определенного размера в Linux

Некоторое время назад я настроил локальный файловый сервер с помощью PSiTransfer. Используя свой файловый сервер, я хотел проверить предел загрузки, максимальный размер загрузки и скорость загрузки файлов/папок. Для этой цели мне нужны были файлы разного размера. У меня на жестком диске есть файлы разного размера. Но я хочу, чтобы размер файла был ровно 100 МБ. После небольшого поиска в Интернете я узнал, как создавать файлы определенного размера в Linux и Unix-подобных системах.

Создание файлов определенного размера в Linux

Существует несколько способов создания файлов заданного размера. Я покажу им все на практических примерах.

Все команды, упомянутые в этом руководстве, являются частью GNU coreutils, поэтому вам не нужно их устанавливать. Эти команды предустановлены по умолчанию.

1. Создайте файлы определенного размера с помощью команды truncate.

Чтобы создать файл определенного размера, например 5 МБ, с помощью команды truncate, выполните:

truncate -s 5M ostechnix.txt

Приведенная выше команда создаст файл ostechnix.txt размером ровно 5MB.

Более подробную информацию об этой команде можно найти на страницах руководства truncate.

man truncate

2. Создайте файлы определенного размера с помощью команды Fallocate.

Другая команда для создания файла определенного размера — fallocate. Обратите внимание, что вы можете указать размеры файлов только в байтах с помощью команды fallocate . Чтобы вычислить размер конкретного файла, например 5MB, вам нужно сделать - 510241024=5242880 . Прозрачный? Хороший!

Теперь давайте создадим файл размером 5 МБ с помощью команды:

fallocate -l 5242880 ostechnix.txt

Как Люк Ван Ромпаипредложил в разделе комментариев, с помощью оболочки bash вы можете выполнять встроенные арифметические действия, поэтому вам не придется вычислять, сколько байтов входит в 5 МБ заранее.

Итак, мы можем использовать это, как показано ниже:

fallocate -l $((5*1024*1024)) ostechnix.txt

Для получения более подробной информации об этой команде я предлагаю вам просмотреть справочные страницы fallocate.

man fallocate

3. Создайте файлы определенного размера с помощью команды head.

Мы используем команду head для вывода первой части файлов, верно? Что ж, мы также можем использовать эту команду для создания файла определенного размера.

Чтобы создать файл размером 5 МБ с помощью команды head, выполните:

head -c 5MB /dev/urandom > ostechnix.txt

Приведенная выше команда создаст файл размером 5MB, заполненный случайными данными. Вы также можете создать файл с 0s, как показано ниже.

head -c 5MB /dev/zero > ostechnix.txt

Дополнительную информацию о команде head можно найти на страницах руководства.

man head

4. Создайте файлы определенного размера с помощью команды dd.

Мы уже знали, что можем преобразовать и скопировать файл с помощью команды dd. Мы также используем команду dd для создания загрузочного диска. Однако мы можем использовать эту команду и для создания файлов определенного размера.

Чтобы создать файл размером 5 МБ, выполните:

dd if=/dev/urandom of=ostechnix.txt bs=5MB count=1

Пример вывода:

1+0 records in
1+0 records out
5000000 bytes (5.0 MB, 4.8 MiB) copied, 0.0402477 s, 124 MB/s

Команда создаст файл ostechnix.txt размером 5MB, содержащий некоторые случайные данные.

Чтобы создать файл, заполненный 0s, вы можете использовать:

dd if=/dev/zero of=ostechnix.txt bs=5MB count=1

Как обычно, подробную информацию об этой команде можно найти на страницах руководства по команде dd.

man dd

И это все. Теперь вы знаете, как создать файл определенного размера в Linux. Как видно из приведенных выше примеров, создание файлов определенного размера не составляет большого труда. Надеюсь это поможет.

Рекомендуется к прочтению:

  • Как узнать размер каталога в Linux
  • Учебное пособие по команде mktemp с примерами для начинающих

Статьи по данной тематике