Утилиты для сжатия файлов
В UNIX- и GNU/Linux-системах команды архивирования отделены от утилит сжатия файлов. Все утилиты сжатия осуществляют компрессию файлов, ука- занных в качестве аргументов. При этом к исходным названиям файлов до- бавляются стандартные расширения, перечисленные далее, а права доступа и владения сохраняются.
В GNU/Linux используются следующие утилиты сжатия:
r gzip — применяется наиболее часто, сжатые файлы имеют расширения .gz;
r bzip2 — часто обеспечивает лучшую степень сжатия, чем gzip, сжатые файлы имеют расширения .bz2;
r compress — стандартная UNIX-утилита сжатия, в GNU/Linux использует- ся реже, чем предыдущие, сжатые файлы имеют расширение .Z.
Для сжатия файлов достаточно указать их в качестве аргументов (при-
мер 12.2).
Пример 12.2. Сжатие файлов командой gzip |
$ ls -l distfiles.*
-rw-r--r-- | 1 user1 | user1 | Nov | 23:10 | distfiles.lst | ||
-rw-r--r-- | 1 user1 | user1 | Nov | 15:01 | distfiles.txt |
$ gzip distfiles.*
$ ls -l distfiles.*
-rw-r--r-- | 1 user1 | user1 | Nov | 23:10 | distfiles.lst.gz | ||
-rw-r--r-- | 1 user1 | user1 | Nov | 15:01 | distfiles.txt.gz |
В этом примере командой gzip были сжаты два файла. После сжатия к их названиям был добавлен суффикс .gz.
Далее приведены часто используемые опции команды gzip:
r -d — декомпрессия сжатых файлов, как gunzip;
r -с — вывести сжатое содержимое файлов в поток вывода, без изменения файлов;
r -r — сжать содержимое каталога рекурсивно;
r -S — установить иной, чем .gz, суффикс;
r -t — тестировать содержимое архива;
r -v — подробный вывод информации о работе команды;
r -l — вывести информацию об уровне сжатия файлов.
Декомпрессию сжатых gzip-файлов выполняет команда gunzip (пример 12.3).
Пример 12.3. Распаковка сжатых файлов |
$ gunzip -v distfiles.*
distfiles.lst.gz: 73.6% -- replaced with distfiles.lst distfiles.txt.gz: 90.5% -- replaced with distfiles.txt
Команда zcat распаковывает и выводит в поток содержимое сжатых gzip-
файлов.
Что касается команды bzip2, то в ней реализован иной алгоритм сжатия, часто обеспечивающий более высокий уровень компрессии (пример 12.4). Многие опции команды bzip2 функционально идентичны соответствующим опциям gzip.
Пример 12.4. Сжатие файлов командой bzip2 |
$ bzip2 -v distfiles.*
distfiles.lst: 3.879:1, 2.063 bits/byte, 74.22% saved, 239263 in, 61689 out.
distfiles.txt: 13.576:1, 0.549 bits/byte, 93.14% saved, 1967881 in, 135009 out.
$ ls -l distfiles.*
-rw-r--r-- | 1 user1 | user1 | 61689 Nov 26 23:10 distfiles.lst.bz2 |
-rw-r--r-- | 1 user1 | user1 | 135009 Nov 22 15:01 distfiles.txt.bz2 |
Если сравнить результаты работы bzip2 с gzip, то заметно, что степень сжа- тия у первой команды выше, правда, команда bzip2 работает чуть медленнее.
Дата добавления: 2015-06-12; просмотров: 1879;