- truncate — обрезка/увеличение файла до заданного размера
- Синтаксис команды truncate
- Использование команды «Truncate» в Linux
- Установка пакетов Coreutils
- Очистить содержимое файла
- Усечение файла до определенного размера
- Увеличение размера файла
- Уменьшение размера файла
- Получение справки
- Проверка версии
- 6 способов создать файл в Linux определенного размера
- Как создать файл определенного размера в Linux с помощью команды fallocate?
- Как создать файл определенного размера в Linux с помощью команды truncate?
- Как создать файл определенного размера в Linux с помощью команды dd?
- Как создать файл определенного размера в Linux с помощью команды head?
- Как создать файл определенного размера в Linux с помощью команды xfs_mkfile?
- Как создать файл определенного размера в Linux с помощью команды perl?
- Команда gzip в операционной системе Linux
- Синтаксис команды gzip
- Сжатие файлов с помощью gzip
- Сохранение исходного файла
- Подробный вывод
- Сжатие нескольких файлов
- Сжатие всех файлов в каталоге
- Изменение уровня сжатия
- Использование стандартного ввода
- Распаковка файлов с помощью gzip
- Сохранение сжатого файла
- Распаковка нескольких файлов
- Распаковка всех файлов в каталоге
- Перечень содержимого сжатого файла
- Заключение
truncate — обрезка/увеличение файла до заданного размера
Для быстрой обрезки файла до нулевой длины удобно использовать значок вывода потока > перед которым ничего не пишем. Набираем элементарно >file.txt и дело в шляпе. Но не во всех случаях данный метод сгодится, даже при обрезке до нуля, если у нас недостаточно прав, использовать например sudo перед этой конструкцией мы уже не сможем.
Синтаксис команды truncate
truncate OPTION … FILE …
Установите размер существующего файла 10 ГБ или создайте новый файл с указанным размером
Увеличьте размер файла на 50M, заполните дыры (которые читаются как нулевые байты)
Уменьшите файл на 2 ГБ, удалив данные из конца файла.
Очистить содержимое файла
Уменьшайте или увеличивайте размер каждого ФАЙЛА до указанного размера.
Создается несуществующий аргумент FILE.
Если FILE больше указанного размера, лишние данные теряются. Если FILE короче, он расширяется, и расширенная часть (дыра) читается как нулевые байты.
Обязательные аргументы для длинных опций являются обязательными и для коротких опций.
-c , —no -create не создают каких — либо файлов
-o , —io -блоков лечить SIZE как количество IO блоков вместо байт
-r , —reference = ОФАЙЛ базового размера на ОФАЙЛ
-s , —size = РАЗМЕР установить или отрегулировать размер файла с помощью SIZE байт
—help отобразить справку и выйти
—version вывести информацию о версии и выйти
. Аргумент SIZE является целым числом и необязательной единицей (пример: 10 КБ составляет 10 * 1024). Единицы измерения: K, M, G, T, P, E, Z, Y (степень 1024) или KB, MB, … (степень 1000). Также можно использовать двоичные префиксы: KiB = K, MiB = M и так далее.
SIZE также может начинаться с одного из следующих модифицирующих символов: ‘+’ расширить на, ‘-‘ уменьшить на, ‘’ как минимум, ‘/’ округлить до кратного, ‘%’ округлить до нескольких.
Использование команды «Truncate» в Linux
Иногда нам нужно удалить содержимое файла, не удаляя его; для этого операционная система Linux предлагает команду «truncate». Она используется для увеличения или уменьшения размера файла. Усечение файла происходит гораздо быстрее и проще, без изменения прав доступа и владения файлом.
Усеченный размер зависит от исходного размера файла; дополнительные данные будут потеряны, если размер файла больше указанного.
Установка пакетов Coreutils
Команда «truncate» поставляется с большинством дистрибутивов Linux. В Debian или Ubuntu ее можно установить, если она отсутствует, с помощью команды, приведенной ниже:
В CentOS это можно сделать с помощью команды
Очистить содержимое файла
Используйте опцию «-s» для удаления содержимого файлов. Это более предпочтительный способ, чем ручное удаление файла. Команда truncate эффективно удаляет все содержимое файла. Она не удаляет сам файл, а оставляет его на диске в виде файла с нулевым байтом.
Давайте воспользуемся командой truncate, чтобы очистить файл file.txt до 0 байт:
При использовании команды truncate разрешения и права собственности на файл будут сохранены.
Усечение файла до определенного размера
Давайте усечем файл до размера 100 байт:
Чтобы усечь размер файла до 300K:
Увеличение размера файла
Вы можете увеличить размер файла, используя опцию «+» с «-s»
Я бы хотел увеличить размер файла с 300к до 600к байт:
Уменьшение размера файла
Допустим, у вас есть файл размером 600k и вы хотите уменьшить его размер до 270k, используйте опцию «-s» и «-» с указанием размера:
Текущий размер файла составляет 330k.
Получение справки
Чтобы получить справочное сообщение, используйте:
Проверка версии
Чтобы проверить версию команды truncate, используйте:
6 способов создать файл в Linux определенного размера
Если вы хотите создать определенный размер файла в Linux, чтобы расширить раздел подкачки, то вы можете использовать один из следующих методов для его создания.
Я уже знаю несколько команд для выполнения этого, но я включил все возможные варианты в этой статье.
Вы можете проверить все команды, которые доступны в этой статье, и выбрать предпочитаемую для вас.
Я собираюсь создать файл 10M.
Это можно сделать с помощью следующих 6 методов.
- fallocate: fallocate используется для предварительного выделения или освобождения места в файле.
- truncate: truncate используется для сокращения или расширения размера файла до указанного размера.
- dd: может копировать файл, конвертировать и форматировать в соответствии с операндами.
- head: head используется для отображения первой части файлов.
- Команда xfs_mkfile: xfs_mkfile позволяет нам создавать файлы определенного размера в Linux.
- perl: Perl – это язык программирования, специально разработанный для редактирования текста.
Как создать файл определенного размера в Linux с помощью команды fallocate?
Fallocate используется для манипулирования выделенным дисковым пространством для файла, чтобы освободить или предварительно выделить его.
Для файловых систем, которые поддерживают системный вызов fallocate, предварительное распределение выполняется быстро, выделяя блоки и помечая их как неинициализированные, не требуя ввода-вывода для блоков данных.
Это гораздо быстрее, чем создавать файл, заполняя его нулями.
$ fallocate -l 10M daygeek.txt
Используйте команду ls, чтобы проверить заданный размер файла.
$ ls -lh daygeek.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:43 daygeek.txt
Как создать файл определенного размера в Linux с помощью команды truncate?
truncate используется для уменьшения или расширения размера файла до указанного размера.
$ truncate -s 10M daygeek1.txt
Используйте команду ls, чтобы проверить заданный размер файла.
$ ls -lh daygeek1.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:44 daygeek1.txt
Как создать файл определенного размера в Linux с помощью команды dd?
Команда dd означает дубликатор данных.
Он используется для копирования и преобразования данных (по умолчанию из стандартного ввода в стандартный вывод).
$ dd if=/dev/zero of=daygeek2.txt bs=10M count=1 or $ dd if=/dev/zero of=daygeek3.txt bs=1M count=10 1+0 records in 1+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.03385 s, 310 MB/s
Используйте команду ls, чтобы проверить заданный размер файла.
$ ls -lh daygeek2.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:44 daygeek2.txt
Как создать файл определенного размера в Linux с помощью команды head?
Команда head считывает первые несколько строк любого текста, переданного ему в качестве ввода, и записывает их в стандартный вывод (который по умолчанию является экраном дисплея).
$ head -c 10MB /dev/zero > daygeek4.txt
Используйте команду ls, чтобы проверить заданный размер файла.
$ ls -lh daygeek4.txt -rw-rw-r-- 1 daygeek daygeek 9.6M Feb 3 13:45 daygeek4.txt
Как создать файл определенного размера в Linux с помощью команды xfs_mkfile?
xfs_mkfile создает один или несколько файлов. Файл дополняется нулями по умолчанию.
Размер по умолчанию – в байтах, но его можно пометить как килобайты, блоки, мегабайты или гигабайты с суффиксами k, b, m или g соответственно.
$ xfs_mkfile 10M daygeek5.txt
Используйте команду ls, чтобы проверить заданный размер файла.
$ 1 ls -lh daygeek5.txt -rw------- 1 daygeek daygeek 10M Feb 3 13:45 daygeek5.txt
Как создать файл определенного размера в Linux с помощью команды perl?
Perl означает «Practical Extraction and Reporting Language».
Perl – это язык программирования, специально разработанный для редактирования текста.
В настоящее время он широко используется для различных целей, включая системное администрирование Linux, сетевое программирование, веб-разработку и т. д.
$ perl -e 'print "a" x 10485760' > daygeek6.txt
Используйте команду ls, чтобы проверить заданный размер файла.
$ ls -lh daygeek6.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:47 daygeek6.txt
Все вместе в одном выводе.
$ ls -lh daygeek* -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:44 daygeek1.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:44 daygeek2.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:44 daygeek3.txt -rw-rw-r-- 1 daygeek daygeek 9.6M Feb 3 13:45 daygeek4.txt -rw------- 1 daygeek daygeek 10M Feb 3 13:45 daygeek5.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:47 daygeek6.txt -rw-rw-r-- 1 daygeek daygeek 10M Feb 3 13:43 daygeek.txt
Команда gzip в операционной системе Linux
Gzip – один из самых популярных алгоритмов сжатия, который позволяет сократить размер файла, но при этом сохранить исходный файловый режим, владельца объекта и отметку времени.
Gzip является отсылкой к формату файлов .gz и утилите gzip , используемой для сжатия и распаковки файлов.
В данной статье мы покажем, как использовать команду gzip .
Синтаксис команды gzip
Общий синтаксис команды gzip выглядит следующим образом:
Gzip сжимает отдельные файлы и создает сжатый файл для каждого заданного файла в отдельности. По определению имя файла, который был сжат с помощью Gzip, должно оканчиваться на .gz или .z .
Если вам необходимо сжать несколько файлов или каталогов в один файл, то для начала вам нужно создать архив Tar, а затем уже сжать файл с разрешением .tar с помощью Gzip. Файл, оканчивающийся на .tar.gz или .tgz , представляет собой архив Tar, сжатый с помощью Gzip.
Как правило, Gzip используют для сжатия текстовых файлов, архивов Tar и веб-страниц. Не нужно использовать Gzip для сжатия изображений, аудиофайлов, PDF-документов и других файлов в двоичном формате, поскольку они уже являются сжатыми.
gzip может сжимать только обычные файлы. символические ссылки он игнорирует.
Сжатие файлов с помощью gzip
Для того, чтобы сжать один файл, вызовите команду gzip , за которой следует имя файла:
gzip создаст файл с именем имя_файла.gz , а исходный файл удалит.
По умолчанию gzip сохраняет в сжатом файле временную метку, файловый режим, владельца объекта и имя исходного файла.
Сохранение исходного файла
Если вы хотите, чтобы исходный файл был сохранен, воспользуйтесь параметром –k :
Есть еще один вариант сохранить исходный файл – воспользоваться параметром -c , который сообщает gzip о необходимости записи в стандартный вывод и перенаправлении вывода в файл:
gzip -c имя_файла > имя_файла.gz
Подробный вывод
Если вы хотите увидеть процент уменьшения размера файла и имена обрабатываемых файлов, тогда воспользуйтесь параметром -v :
gzip -v имя_файла имя_файла: 7.5% -- replaced with имя_файла.gz
Сжатие нескольких файлов
В качестве аргументов команде вы можете передать несколько файлов. Например, чтобы сжать файлы с именами file1 , file2 , file3 , вам необходимо выполнить следующую команду:
После чего приведенная выше команда создаст три сжатых файла: file1.gz , file2.gz , file3.gz .
Сжатие всех файлов в каталоге
Для того, чтобы сжать все файлы в каталоге, воспользуйтесь параметром -r :
gzip рекурсивно пройдет через всю структуру каталогов и произведет сжатие всех файлов в каталоге и его подкаталогах.
Изменение уровня сжатия
gzip дает возможность указать уровень сжатия, его диапазон — от 1 до 9. -1 или —fast означает самую высокую скорость сжатия с минимальной степенью сжатия, -9 или —best — самую низкую скорость с максимальной степенью. По умолчанию уровень сжатия равен -6 .
Например, чтобы установить максимальный уровень сжатия, вам необходимо запустить следующую команду:
Сжатие – это задача, интенсивно использующая ЦП. Соответственно, чем выше уровень сжатия, тем больше времени занимает процесс.
Использование стандартного ввода
Для того, чтобы создать файл расширения .gz из стандартного ввода, вам необходимо передать вывод команды gzip. Например, чтобы сжать резервную копию базы данных MySQL, вам необходимо запустить следующую команду:
mysqldump имя_базы_данных | gzip -c > имя_базы_данных.sql.gz
Вывод команда mysqldump послужит вводом для gzip.
Распаковка файлов с помощью gzip
Для того, чтобы распаковать файл с расширением .gz , воспользуйтесь параметром -d :
Есть также еще одна команда, которую вы можете использовать для распаковки файла Gzip, — это gunzip . Эта команда по сути является альтернативным вариантом команды gzip -d :
Сохранение сжатого файла
Здесь, как и при сжатии файла, для того, чтобы показать gzip, что входной файл (в данном случае это сжатый файл) нужно сохранить, необходимо воспользоваться параметром -k :
Распаковка нескольких файлов
Для того, чтобы распаковать несколько файлов одновременно, вам необходимо передать имена файлов в gzip в качестве аргументов:
gzip -d file1.gz file2.gz file3.gz
Распаковка всех файлов в каталоге
Для того, чтобы gzip рекурсивно распаковал все файлы в заданном каталоге, необходимо воспользоваться параметрами -d и -r :
Перечень содержимого сжатого файла
Для того, чтобы посмотреть статистику данных сжатого файла, воспользуйтесь параметром -l :
Вывод покажет имя несжатого файла, размер сжатого и несжатого файла, а также степень сжатия:
compressed uncompressed ratio uncompressed_name 130 107 7.5% имя_файла
Чтобы получить больше информации, добавьте параметр -v :
gzip -lv имя_файла method crc date time compressed uncompressed ratio uncompressed_name defla a9b9e776 Sep 3 21:20 130 107 7.5% имя_файла
Заключение
С помощью Gzip вы можете уменьшить размер определенного файла — команда gzip позволяет сжимать и распаковывать файлы.