Как файлы сжимаются при архивировании

Обновлено: 18.05.2024

Традиционные инструменты архивации и сжатия Unix разделены в соответствии с философией Unix:

  • Файловый архиватор объединяет несколько файлов в один файл архива, например смолка.
  • Инструмент сжатия сжимает и распаковывает данные, например gzip.

Эти инструменты часто используются последовательно, сначала создавая файл архива, а затем сжимая его.

Конечно, существуют также инструменты, которые выполняют и то, и другое, но, как правило, дополнительно предлагают шифрование, обнаружение ошибок и восстановление.

Содержание

Только архивация

Название Пакет Руководства Описание
GNU tar tar tar(1) , info Основная утилита для управления вездесущими архивами tar (tarballs), которые используются pacman и AUR.
libarchive libarchive bsdtar(1)
bsdcpio(1)
Реализация tar и cpio, которая также предлагает библиотеку. Используется pacman и mkinitcpio.
ar binutils ar(1) Устаревший архиватор Unix перед tar. Сегодня используется только для создания файлов статических библиотек.
cpio cpio cpio(1) Архиватор файлов через stdin/stdout, поддерживает форматы cpio и tar.
DAR dar AUR dar(1) Архиватор для резервного копирования больших активных файловых систем, заботится о жестких ссылках, расширенных атрибутах, разреженных файлах и типах inode.

Совет. Как GNU, так и BSD tar автоматически выполняют делегирование распаковки для сжатых архивов bzip2, compress, gzip, lzip, lzma, lzop, zstd и xz. Только BSD tar изначально поддерживает lz4 (но GNU tar может сделать эквивалент с --use-compress-program=lz4 / -Ilz4 ). При создании архивов оба поддерживают ключ -a для автоматической фильтрации созданного архива с помощью правильной программы сжатия на основе расширения файла. В то время как BSD tar распознает форматы сжатия на основе формата, GNU tar угадывает только на основе расширения файла.

Инструменты сжатия

Только сжатие

Эти программы сжатия используют собственный формат файла.

Архивирование и сжатие

< /tr> < /таблица>

Таблицы характеристик

Некоторые из перечисленных выше инструментов могут работать с несколькими форматами, что позволяет устанавливать меньше пакетов.

Распаковать

Сравнение использования

Архивация только использования

Имя Пакеты Руководства Расширение Описание
p7zip p7zip 7z(1) .7z Сторонний POSIX-порт командной строки 7-zip.
7-Zip 7-zip AUR < /td> - Предшествующая версия файлового архиватора для Linux с высокой степенью сжатия.
RAR rar AUR , unrar rar(1) .rar И формат, и утилита rar являются собственностью компании.
ZIP zip , распаковать zip(1) , разархивировать(1) .zip Широко используется за пределами мира Linux.
Unarchiver unarchiver unar(1) , lsar( 1) многие Инструмент командной строки приложения Mac, поддерживает более 40 форматов архивов.
ZPAQ zpaq AUR zpaq(1) .zpaq Высокое сжатие отношение а rchiver написан на C++, использует несколько алгоритмов.
LHa lhasa , lha AUR lha (1) .lzh (на Amiga: .lha) Архиватор LZH/LHA, поддерживает lh7-метод.
< /таблица>

Использование только сжатия

Имя Создать архив Извлечь архив Список содержимого
tar(1) tar cfv archive.tar файл1 файл2 tar xfv archive.tar tar -tvf archive.tar
cpio(1) ls файл1 файл2 | cpio -o > архив.cpio cpio -i -vd < архив.cpio cpio -t < архив.cpio
< tr>
Имя Сжать Распаковать Распаковать в стандартный вывод
bzip2(1) файл bzip2 bzip2 -d файл.bz2 bzcat файл.bz2
gzip(1) файл gzip gzip -d file.gz zcat file.gz
lrzip(1) файл lrzip
папка lrztar
lrzip -d file.lrz
lrztar -d folder.tar.lrz< /td>
lrzcat файл.lrz
xz(1) файл xz xz -d файл.xz файл xzcat.xz

Архивация и использование сжатия

Имя Сжать Распаковать Распаковать в стандартный вывод Список содержимого
7z(1) 7z архив.7z файл1 файл2 7z x архив.7z 7z e -so архив.7z файл1 7z l архив.7z
rar(1) rar a archive.rar file1 file2 rar x archive.rar rar p -inul archive.rar файл1 rar l архив.rar
zip(1) , unzip(1) zip archive.zip файл1 файл2< /td> распаковать архив.zip распаковать -p архив.zip файл1 распаковать -l архив.zip
lha(1) lha ао7 архив.lzh файл1 файл2 lha x archive.lzh минимальный: lha l архив.lzh подробный: lha v архив .лж

Удобные инструменты

  • atool — Скрипт для управления файловыми архивами различных типов.
  • dtrx — интеллектуальный инструмент для извлечения архива.
  • J7Z — графический интерфейс пользователя для Linux на языке Java, который пытается упростить сжатие и резервное копирование данных. Он может создавать архивы 7z, BZip2, Zip, GZip, Tar.
  • unp — инструмент командной строки, который может легко распаковывать архивы.
  • unpack — скрипт-оболочка для работы с несколькими форматами архивов.

Определение формата архива

Чтобы извлечь архив, необходимо определить его формат файла. Если файл назван правильно, вы можете определить его формат по расширению файла.

В противном случае вы можете использовать файловый инструмент, см. файл(1) .

Эзотерические, редкие или устаревшие инструменты

Имя Пакеты Расширение Описание
ARC arc AUR .arc, .ark Был очень популярен в первые дни BBS с коммутируемым доступом . Заменено ZIP.
ARJ arj .arj Архиватор, используемый в DOS/Windows в середине 1990-х. Это клон с открытым исходным кодом.
compress ncompress .Z Классическое сжатие Unix утилита, которая может работать с древним архивом .Z.
PAR2 par2cmdline .par2 Четность архиватор для повышения целостности данных. См. также Parchive.
shar sharutils .shar Создает самораспаковывающиеся архивы, допустимые сценарии оболочки.
Zoo zoo AUR .zoo Был в основном популярен в операционной системе OpenVMS до того, как стал популярен PKZIP.

Сжатие картографа устройств

Эта статья или раздел нуждается в улучшении языка, синтаксиса вики или стиля. См. Help:Style для справки.

В настоящее время ведется работа по поддержке (интеграции в проект ядра Linux) недавно открытого проекта VDO, который обеспечивает уровень сопоставления устройств дедупликации и сжатия в интересах повышения эффективности хранения. Доступны следующие пакеты:

  • vdo – инструменты пользовательского пространства для управления томами VDO.
  • kvdo — пара модулей ядра, которые предоставляют пулы дедуплицированного и/или сжатого блочного хранилища.

Библиотеки сжатия

  • Brotli — алгоритм сжатия потоков данных с использованием алгоритма LZ77, кодирования Хаффмана и контекстного моделирования 2-го порядка.
  • libzip — обеспечивает создание и распаковку ZIP-файлов. Используется KDE и Deepin вместо инструментов zip/unzip.
  • zlib — библиотека сжатия, реализующая метод сжатия deflate, используемый в gzip и PKZIP.
  • Zopfli — компрессор файлов с высокой степенью сжатия от Google, использующий алгоритм, совместимый с deflate, который называется zopfli.

Устранение неполадок

Искаженные японские имена файлов

Японские версии Windows кодируют ZIP-архивы с помощью Shift-JIS. По умолчанию эти архивы будут страдать от имен файлов моджибаке при извлечении. Для правильного извлечения используйте `unzip` в командной строке, используя опцию shift-jis.

Как работает сжатие и архивирование файлов

Что такое архивация файлов

как работает сжатие файлов

как работает архивирование файлов

Что такое сжатие файлов

Сжатие файлов означает уменьшение размера данных на диске путем их кодирования до меньшего размера вывода с использованием различных стратегий для эффективного сопоставления (в большинстве случаев) больших входных данных с меньшими выходными данными, т. е. использования статистического анализа для уменьшения избыточности входных данных.
Сжатие данных также предшествовало разработке стандарта ZIP, поскольку после того, как входные файлы были объединены в один выходной архив, операция часто объединялась со сжатием данных без потерь, чтобы уменьшить размер архива с использованием различных утилит, доступных на сайте. время как SQ (DOS, CP/M), CRUNCH (CP/M) и сжатие (Unix).
Формат TAR, например, по-прежнему является стандартом для несжатых архивов и использует внешние компрессоры, в настоящее время обычно GZ (сжатие на основе быстрого сжатия, такое же, как в формате ZIP), BZ2 (более мощное сжатие), XZ (современный, очень мощное сжатие на основе LZMA — алгоритм сжатия по умолчанию, используемый в формате 7Z), BR Brotli от Google (современный, очень быстрый компрессор) и ZST от Facebook Zstandard (еще один современный, очень быстрый компрессор).

Подробнее о сходствах и различиях в параграфе "Сжатие данных с потерями и без потерь". Однако для сжатого архивного файла общего назначения сжатие означает сжатие без потерь, преобразование входных данных в меньший выходной файл в соотношении 1:1.

Формат SEA ARC (1985 г.) сочетал архивирование и сжатие (без потерь) за один проход, что, вероятно, является первым примером общего назначения диспетчера архивов, позволяющего одновременно освобождать место для резервного копирования и экономить пропускную способность загрузки и выгрузки ( и время) для обмена - в то время в основном BBS.
Несколько лет спустя, после разногласий с SEA по поводу предполагаемой производной работы в PKARC, Фил Кац заменил предыдущие работы, выпустив PKZIP, который имел большой успех благодаря нескольким факторам, таким как превосходная скорость и эффективность, а также тем, что спецификации были опубликованы для общественности. домене и имея относительно мало конкурентов в годы быстрого расширения рынка ПК.

Определение сжатия данных с потерями и без потерь

Как работает сжатие с потерями и без потерь

Сжатие данных может быть определено как сжатие с потерями или без потерь с точки зрения обратимости процесса сжатия из-за потери (или сохранения) исходной информации в процессе. Два типа алгоритмов имеют разные плюсы и минусы и разные области применения.

Определение сжатия без потерь, архивация файлов

Сжатие без потерь использует статистические модели для преобразования входных данных в меньшие выходные данные, устраняя избыточность данных.
Таким образом, выходные данные содержат точно всю информацию, содержащуюся на входных данных, в меньшем количестве байтов, и могут быть расширены при необходимости до копии исходных данных 1:1 (восстановление точно исходного содержимого), что является фундаментальным. свойство для хранения некоторых типов данных - например, программное обеспечение, база данных.

что такое сжатие без потерь

что такое алгоритмы обратимого сжатия

Определение сжатия с потерями, сжатие мультимедийных данных

Сжатие с потерями вместо этого работает, выявляя ненужную или менее важную информацию (а не только избыточные данные) и удаляя ее.

В отличие от сжатия без потерь объем сжимаемой информации эффективно уменьшается.
Потеря информации/контента необратима и, в зависимости от характера алгоритма, вероятно, будет происходить каждый раз, когда контент будет изменен и сохранен в формате файла с потерями, например. при редактировании изображений JPEG с потерями и их многократном сохранении в промежуточных рабочих файлах.

Таким образом, коэффициент сжатия данных улучшается, но за счет того, что сжатие с потерями становится необратимым процессом, поскольку оно происходит за счет потери части информации, и делает его подходящим выбором только тогда, когда оно не предназначено. по задумке, чтобы снова восстановить исходный контент.

что такое сжатие с потерями

алгоритмы необратимого сжатия

Однако из-за характера этих схем сжатия с потерями профессиональное редактирование обычно выполняется с несжатыми данными (например, аудио WAV или изображениями TIFF) или данными, сжатыми без потерь (например, аудио FLAC или изображения PNG) каждый раз. время, когда это возможно, поэтому многократное сохранение незавершенной работы не приводит к потере битов информации каждый раз с прогрессирующим ухудшением качества - обычно использование сжатия с потерями сохраняется до последнего шага для создания выходных данных разумного размера для распространения для использования в медиа. .

Сжатие с потерями и без потерь

Алгоритмы сжатия с потерями и без потерь настолько различаются по своим областям применения, что их нельзя прямо конкурировать.
Когда исходное содержимое необходимо полностью восстановить при распаковке (бинарные файлы, перезапись данных), полностью обратимое сжатие без потерь является единственным вариантом, а когда допустима некоторая степень потери данных (например, завершение работы с мультимедийными файлами, такими как mp3 аудио, видео в формате mpeg, графика в формате jpeg), как правило, преимущества сжатия с потерями с точки зрения скорости и максимального коэффициента сжатия по сравнению со сжатием без потерь настолько очевидны, что необратимое сжатие с потерями является единственным жизнеспособным выбором для удовлетворения ограничений по размеру и/или производительности.

оптимизировать сжатие данных

Прочитайте определения сжатия без потерь и сжатия с потерями в Википедии.

Что такое сжатые архивные файлы

Что такое ZIP-файл

Формат ZIP — это формат сжатия и архивации данных без потерь, созданный в 1989 году Филом Кацем и впервые реализованный в PKWARE PKZIP.
Спецификации формата файла ZIP были выпущены в общественное достояние, и этот формат имел длительный и устойчивый успех, до такой степени, что «zip» часто используется в разговорной речи для любого общего сжатого архива, а многие форматы пакетов основаны на сжатии deflate и/ или те же или очень похожие спецификации: Java JAR / WAR / EAR, Android APK, файлы Apple iOS IPA (устройства iPhone и iPad), составные файлы Microsoft CAB и Office.
WinZip 12.1 (2009 г.) представил новые спецификации формата файлов ZIPX для определения нового стандарта архивирования, который поддерживает более новые и более мощные алгоритмы сжатия.

Что такое файлы RAR, ACE, 7Z

  • обычно более высокая степень сжатия, чем ZIP, за счет более медленной работы, но этот недостаток был бы оплачен более медленной передачей (особенно в медленных и общедоступных сетях) выходного файла меньшего размера
  • многотомное архивирование, охватывающее выходные данные в нескольких файлах с соблюдением ограничений, таких как предельный размер почтового вложения, для обеспечения конфиденциальности конечного пользователя, если файл украден или передан через незащищенные серверы (незашифрованная общедоступная сеть или любой канал, контролируемый третьей стороной в качестве почтовый сервер или служба удаленного хранения) и исправление ошибок (как реализовано в форматах ARC и RAR), чтобы предотвратить извлечение в случае повреждения данных (т. е. неправильное соединение, поврежденный диск) и попытки восстановления из заведомо исправных данных.

что такое архивные файлы

что такое сжатый файл

Краткий обзор : Что такое архивный файл? Что такое сжатый файл? Что такое zip-файл? Как работает сжатие с потерями и сжатие данных без потерь. Преимущества и недостатки необратимых и обратимых алгоритмов. Сравните определения и типы сжатых файлов. Сжатие с потерями против сжатия без потерь. Как работают файлы 7Z, RAR, ZIP? Как работает сжатие файлов? Как работает архивация файлов? Что означает архивация файлов и сжатие файлов?

Темы: как работает сжатие данных, сжатие с потерями и без потерь, что такое архивный файл, что такое файл zip или rar

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

Важно понимать разницу между архивным файлом и сжатым файлом. Архивный файл — это набор файлов и каталогов, хранящихся в одном файле. Файл архива не сжимается — он занимает столько же места на диске, сколько и все отдельные файлы и каталоги вместе взятые. Сжатый файл — это набор файлов и каталогов, которые хранятся в одном файле и хранятся таким образом, что занимает меньше места на диске, чем все отдельные файлы и каталоги вместе взятые. Если вам не хватает места на диске, сожмите редко используемые файлы или поместите все такие файлы в один файл архива и сожмите его.

Архивный файл не сжимается, но сжатый файл может быть архивным файлом.

Red Hat Enterprise Linux включает графическую утилиту под названием File Roller. File Roller может сжимать, распаковывать и архивировать файлы в распространенных форматах Unix и Linux. Он имеет простой интерфейс и обширную справочную документацию. Чтобы запустить File Roller, выберите «Менеджер архивов» в подменю «Приложения» (главное меню на панели) => «Инструменты системы». File Roller также интегрирован в среду рабочего стола и Nautilus.

Если вы используете файловый менеджер (например, Nautilus), вы можете дважды щелкнуть файл, который хотите разархивировать или распаковать, чтобы запустить File Roller.Появится окно браузера File Roller с распакованным/разархивированным файлом в папке, которую вы можете извлечь или просмотреть.

Рисунок 3-2. File Roller в действии

Чтобы разархивировать и/или распаковать файл, нажмите кнопку "Открыть" на главной панели инструментов. Появится меню файла, позволяющее вам выбрать архив, с которым вы хотите работать. Например, если у вас есть файл с именем foo.tar.gz, расположенный в вашем домашнем каталоге, выделите его и нажмите OK. Файл появится в главном окне браузера File Roller в виде папки, по которой можно перемещаться, дважды щелкнув значок папки. File Roller сохраняет все структуры каталогов и подкаталогов, что удобно, если вы ищете определенный файл в архиве. Вы можете извлечь отдельные файлы или целые архивы, нажав кнопку «Извлечь», выбрав каталог для сохранения неархивированных файлов и нажав «ОК» .

Рисунок 3-3. Создание архива с помощью File Roller

File Roller позволяет создавать архивы ваших файлов и каталогов. Чтобы создать новый архив, нажмите «Создать» на панели инструментов. Появится файловый браузер, позволяющий указать имя архива и метод сжатия. Например, вы можете выбрать формат Tar Compressed with gzip (.tar.gz) из раскрывающегося меню и ввести имя файла архива, который вы хотите создать. Нажмите OK, и ваш новый архив готов к заполнению файлами и каталогами. Чтобы добавить файлы в новый архив, нажмите «Добавить» . Откроется окно браузера, в котором можно найти файл или каталог для добавления в архив. Нажмите «Добавить», когда закончите, и нажмите «Архивировать» => «Закрыть», чтобы закрыть архив.

С помощью File Roller вы можете делать намного больше, чем описано здесь. Дополнительную информацию см. в руководстве File Roller (доступно при нажатии Help => Manual ).

Red Hat Enterprise Linux предоставляет инструменты bzip2 , gzip и zip для сжатия из командной строки. Рекомендуется использовать инструмент сжатия bzip2, поскольку он обеспечивает максимальное сжатие и используется в большинстве UNIX-подобных операционных систем. Инструмент сжатия gzip также можно найти в большинстве UNIX-подобных операционных систем. Для передачи файлов между Linux и другими операционными системами, такими как MS Windows, используйте zip, так как он более совместим с утилитами сжатия, доступными для Windows.

Таблица 3-1. Инструменты сжатия

По соглашению файлы, сжатые с помощью bzip2, получают расширение .bz2 , файлы, сжатые с помощью gzip, получают расширение .gz , а файлы, сжатые с помощью zip, получают расширение .zip .

Файлы, сжатые с помощью bzip2, распаковываются с помощью bunzip2 , файлы, сжатые с помощью gzip, распаковываются с помощью gunzip , а файлы, сжатые с помощью zip, распаковываются с помощью unzip .

Чтобы использовать bzip2 для сжатия файла, введите в командной строке следующую команду:

Файл сжимается и сохраняется как filename.bz2 .

Чтобы развернуть сжатый файл, введите следующую команду:

Сжатый файл filename.bz2 удаляется и заменяется на filename .

Вы можете использовать bzip2 для одновременного сжатия нескольких файлов и каталогов, перечислив их с пробелом между каждым:

bzip2 имя файла.bz2 файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файл1 , файл2 , файл3 и содержимое каталога /usr/work/school/ (при условии, что этот каталог существует) и помещает их в файл с именем имя_файла.bz2 .

Для получения дополнительной информации введите man bzip2 и man bunzip2 в приглашении оболочки, чтобы прочитать справочные страницы для bzip2 и bunzip2 .

Чтобы использовать gzip для сжатия файла, введите в командной строке следующую команду:

Файл сжимается и сохраняется как filename.gz .

Чтобы развернуть сжатый файл, введите следующую команду:

Сжатый файл filename.gz удаляется и заменяется на filename .

Вы можете использовать gzip для одновременного сжатия нескольких файлов и каталогов, перечислив их с пробелом между каждым:

gzip -r имя_файла.gz файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файл1 , файл2 , файл3 и содержимое каталога /usr/work/school/ (при условии, что этот каталог существует) и помещает их в файл с именем имя_файла.gz .

Для получения дополнительной информации введите man gzip и man gunzip в приглашении оболочки, чтобы прочитать справочные страницы для gzip и gunzip .

Чтобы сжать файл с помощью zip , введите следующую команду:

zip -r имя_файла.zip каталог_файлов

В этом примере filename.zip представляет файл, который вы создаете, а filesdir представляет каталог, который вы хотите поместить в новый zip-файл. Параметр -r указывает, что вы хотите рекурсивно включить все файлы, содержащиеся в каталоге filesdir.

Чтобы извлечь содержимое zip-файла, введите следующую команду:

Вы можете использовать zip для одновременного сжатия нескольких файлов и каталогов, перечислив их с пробелом между каждым:

zip -r имя_файла.zip файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файл1 , файл2 , файл3 и содержимое каталога /usr/work/school/ (при условии, что этот каталог существует) и помещает их в файл с именем filename.zip .

Для получения дополнительной информации введите man zip и man unzip в приглашении оболочки, чтобы прочитать справочные страницы для zip и unzip .

Файл tar – это набор нескольких файлов и/или каталогов в одном файле. Это хороший способ создания резервных копий и архивов.

Некоторые параметры tar включают:

-c — создать новый архив

-f — при использовании с параметром -c использовать имя файла, указанное для создания tar-файла; при использовании с параметром -x разархивировать указанный файл

-t — показать список файлов в tar-файле

-v — показать ход архивации файлов

-x — извлечь файлы из архива

-z — сжать tar-файл с помощью gzip

-j — сжать tar-файл с помощью bzip2

Чтобы создать tar-файл, введите:

tar -cvf имя_файла.tar каталог/файл

В этом примере имя файла.tar представляет файл, который вы создаете, а каталог/файл представляет собой каталог и файл, которые вы хотите поместить в заархивированный файл.

Вы можете заархивировать несколько файлов и каталогов одновременно, перечислив их с пробелом между каждым:

tar -cvf имя_файла.tar /home/mine/work /home/mine/school

Приведенная выше команда помещает все файлы в рабочем и школьном подкаталогах /home/mine в новый файл с именем filename.tar в текущем каталоге.

Чтобы просмотреть содержимое tar-файла, введите:

tar -tvf имя файла.tar

Чтобы извлечь содержимое файла tar, введите:

tar -xvf имя файла.tar

Эта команда не удаляет tar-файл, но помещает копии его разархивированного содержимого в текущий рабочий каталог, сохраняя всю структуру каталогов, используемую архивным файлом. Например, если tar-файл содержит файл с именем bar.txt в каталоге с именем foo/, то извлечение архивного файла приведет к созданию каталога foo/ в вашем текущем рабочем каталоге с файлом bar.txt внутри него.< /p>

Помните, что команда tar не сжимает файлы по умолчанию. Чтобы создать сжатый файл в формате tar и bzip, используйте параметр -j:

tar -cjvf имя_файла.tbz файл

Файлы tar, сжатые с помощью bzip2, обычно имеют расширение .tbz ; однако иногда пользователи архивируют свои файлы с расширением tar.bz2.

Приведенная выше команда создает файл архива, а затем сжимает его как файл имя_файла.tbz . Если вы распаковываете файл filename.tbz с помощью команды bunzip2, файл filename.tbz удаляется и заменяется файлом filename.tar .

Вы также можете расширить и разархивировать tar-файл bzip одной командой:

tar -xjvf имя_файла.tbz

Чтобы создать сжатый файл в формате tar и gzip, используйте параметр -z:

tar -czvf имя_файла.tgz файл

Файлы tar, сжатые с помощью gzip, обычно имеют расширение .tgz .

Эта команда создает файл архива имя_файла.tar и сжимает его как файл имя_файла.tgz . (Файл имя_файла.tar не сохраняется.) Если распаковать файл имя_файла.tgz с помощью команды gunzip, файл имя_файла.tgz будет удален и заменен файлом имя_файла.tar .

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

Важно понимать разницу и взаимосвязь между файлом архива и сжатым файлом. Архивный файл — это набор файлов и каталогов, которые хранятся в одном файле. Файл архива не сжимается — он занимает столько же места на диске, сколько и все отдельные файлы и каталоги вместе взятые. Сжатый файл — это набор файлов и каталогов, которые хранятся в одном файле и хранятся таким образом, что занимает меньше места на диске, чем все отдельные файлы и каталоги вместе взятые. Если на вашем компьютере недостаточно места на диске, вы можете сжать файлы, которые вы не используете очень часто, или файлы, которые вы хотите сохранить, но больше не используете. Вы даже можете создать файл архива, а затем сжать его, чтобы сэкономить место на диске.

Архивный файл не сжимается, но сжатый файл может быть архивным файлом.

Сжатые файлы занимают меньше места на диске и загружаются быстрее, чем большие несжатые файлы. В Red Hat Linux вы можете сжимать файлы с помощью инструментов сжатия gzip , bzip2 или zip .

Рекомендуется средство сжатия bzip2, поскольку оно обеспечивает максимальное сжатие и используется в большинстве UNIX-подобных операционных систем. Инструмент сжатия gzip также можно найти в большинстве UNIX-подобных операционных систем. Если вам нужно передать файлы между Linux и другой операционной системой, такой как MS Windows, вы должны использовать zip, потому что он чаще используется в этих других операционных системах.

Таблица 12-1. Инструменты сжатия

По соглашению файлы, сжатые с помощью gzip, получают расширение .gz , файлы, сжатые с помощью bzip2, получают расширение .bz2 , а файлы, сжатые с помощью zip, получают расширение .zip .

Файлы, сжатые с помощью gzip, распаковываются с помощью gunzip , файлы, сжатые с помощью bzip2, распаковываются с помощью bunzip2 , а файлы, сжатые с помощью zip, распаковываются с помощью unzip .

Чтобы использовать bzip2 для сжатия файла, введите следующую команду в командной строке:

Файл будет сжат и сохранен как filename.bz2 .

Чтобы развернуть сжатый файл, введите следующую команду:

Имя файла.bz2 удаляется и заменяется именем файла .

Вы можете сжать несколько файлов и каталогов одновременно, перечислив их с пробелом между каждым:

bzip2 имя файла.bz2 файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файлы file1 , file2 , file3 и содержимое каталога /usr/work/school (при условии, что этот каталог существует) и помещает их в filename.bz2 .

Для получения дополнительной информации введите man bzip2 и man bunzip2 в приглашении оболочки, чтобы прочитать справочные страницы для bzip2 и bunzip2 .

Чтобы использовать gzip для сжатия файла, введите в командной строке следующую команду:

Файл будет сжат и сохранен как filename.gz .

Чтобы развернуть сжатый файл, введите следующую команду:

Имя файла.gz удаляется и заменяется именем файла .

Вы можете сжимать несколько файлов и каталогов одновременно, перечисляя их с пробелом между каждым:

gzip -r имя_файла.gz файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файл1 , файл2 , файл3 и содержимое каталога /usr/work/school (при условии, что этот каталог существует) и помещает их в filename.gz .

Для получения дополнительной информации введите man gzip и man gunzip в приглашении оболочки, чтобы прочитать справочные страницы для gzip и gunzip .

Чтобы сжать файл с помощью zip , введите следующую команду:

zip -r имя_файла.zip каталог_файлов

В этом примере filename.zip представляет файл, который вы создаете, а filesdir представляет каталог, который вы хотите поместить в новый zip-файл. Параметр -r указывает, что вы хотите рекурсивно включить все файлы, содержащиеся в каталоге filesdir.

Чтобы извлечь содержимое zip-файла, введите следующую команду:

Вы можете заархивировать несколько файлов и каталогов одновременно, перечислив их с пробелом между каждым:

zip -r имя_файла.zip файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файл1 , файл2 , файл3 и содержимое каталога /usr/work/school (при условии, что этот каталог существует) и помещает их в файл имя_файла.zip .

Для получения дополнительной информации введите man zip и man unzip в приглашении оболочки, чтобы прочитать справочные страницы для zip и unzip .

Файл tar – это набор нескольких файлов и/или каталогов в одном файле. Это хороший способ создания резервных копий и архивов.

-c — создать новый архив.

-f — при использовании с параметром -c использовать имя файла, указанное для создания tar-файла; при использовании с параметром -x разархивировать указанный файл.

-t — показать список файлов в tar-файле.

-v — показать ход архивации файлов.

-x — извлечь файлы из архива.

-z — сжать tar-файл с помощью gzip .

-j — сжать tar-файл с помощью bzip2 .

Чтобы создать tar-файл, введите:

tar -cvf filename.tar файлы/каталоги

В этом примере filename.tar представляет файл, который вы создаете, а files/directories – файлы или каталоги, которые вы хотите поместить в заархивированный файл.

Вы можете заархивировать несколько файлов и каталогов одновременно, перечислив их с пробелом между каждым:

tar -cvf имя_файла.tar /home/mine/work /home/mine/school

Приведенная выше команда поместит все файлы в рабочем и школьном подкаталогах /home/mine в новый файл с именем filename.tar в текущем каталоге.

Чтобы просмотреть содержимое tar-файла, введите:

tar -tvf имя файла.tar

Чтобы извлечь содержимое файла tar, введите:

tar -xvf имя файла.tar

Эта команда не удаляет tar-файл, но помещает копии его содержимого в текущий рабочий каталог.

Помните, что команда tar не сжимает файлы по умолчанию. Чтобы создать сжатый файл в формате tar и bzip, используйте параметр -j:

tar -cjvf имя_файла.tbz

Файлы tar, сжатые с помощью bzip2, обычно имеют расширение .tbz .

Эта команда создает файл архива, а затем сжимает его как файл имя_файла.tbz . Если вы распаковываете файл filename.tbz с помощью команды bunzip2, файл filename.tbz удаляется и заменяется файлом filename.tar .

Вы также можете расширить и разархивировать tar-файл bzip одной командой:

tar -xjvf имя_файла.tbz

Чтобы создать сжатый файл, заархивированный и заархивированный, используйте параметр -z:

tar -czvf имя файла.tgz

Файлы tar, сжатые с помощью gzip, обычно имеют расширение .tgz .

Эта команда создает файл архива имя_файла.tar, а затем сжимает его в файл имя_файла.tgz . (Файл имя_файла.tar не сохраняется.) Если распаковать файл имя_файла.tgz с помощью команды gunzip, файл имя_файла.tgz будет удален и заменен файлом имя_файла.tar .

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

Важно понимать разницу между архивным файлом и сжатым файлом. Архивный файл — это набор файлов и каталогов, которые хранятся в одном файле. Файл архива не сжимается — он занимает столько же места на диске, сколько и все отдельные файлы и каталоги вместе взятые. Сжатый файл — это набор файлов и каталогов, которые хранятся в одном файле и хранятся таким образом, что занимает меньше места на диске, чем все отдельные файлы и каталоги вместе взятые. Если на вашем компьютере недостаточно места на диске, вы можете сжать файлы, которые вы не используете очень часто, или файлы, которые вы хотите сохранить, но больше не используете. Вы даже можете создать файл архива, а затем сжать его, чтобы сэкономить место на диске.

Архивный файл не сжимается, но сжатый файл может быть архивным файлом.

Red Hat Linux включает графическую утилиту File Roller, которая может сжимать, распаковывать и архивировать файлы и каталоги. File Roller поддерживает распространенные форматы сжатия и архивирования файлов UNIX и Linux, имеет простой интерфейс и обширную справочную документацию, если она вам нужна. Он также интегрирован в среду рабочего стола и графический файловый менеджер, чтобы упростить работу с архивными файлами.

Чтобы запустить File Roller, выберите Главное меню => Стандартные => Менеджер архива. Вы также можете запустить File Roller из командной строки, набрав file-roller . Рисунок 12-1 показывает File Roller в действии.

Если вы используете файловый менеджер (например, Nautilus), вы можете просто дважды щелкнуть файл, который хотите разархивировать или распаковать, чтобы запустить File Roller. Появится окно браузера File Roller с распакованным/разархивированным файлом в папке, которую вы можете извлечь или просмотреть.

Рисунок 12-1. File Roller в действии

Чтобы разархивировать и/или распаковать файл, нажмите кнопку "Открыть" на панели инструментов. Появится меню файлов, позволяющее выбрать архив, с которым вы хотите работать. Например, если у вас есть файл с именем foo.tar.gz, расположенный в вашем домашнем каталоге, выделите его и нажмите OK. Файл появится в главном окне браузера File Roller в виде папки, по которой можно перемещаться, дважды щелкнув значок папки. File Roller сохраняет все иерархии каталогов и подкаталогов, что удобно, если вы ищете определенный файл в архиве. Вы можете извлечь отдельные файлы или целые архивы, нажав кнопку «Извлечь», выбрав каталог, в который вы хотите сохранить неархивированные файлы, и нажав «ОК» .

Если вам нужно освободить место на жестком диске или отправить несколько файлов или каталог файлов другому пользователю по электронной почте, File Roller позволяет создавать архивы ваших файлов и каталогов. Чтобы создать новый архив, нажмите «Создать» на панели инструментов. Появится браузер файлов, позволяющий указать имя архива и метод сжатия (обычно вы можете оставить для этого параметра значение «Автоматически» и просто ввести имя архива файла и расширение имени файла в соответствующем текстовом поле). Нажмите OK, и теперь ваш новый архив готов к заполнению файлами и каталогами. Чтобы добавить файлы в новый архив, нажмите «Добавить». Откроется всплывающее окно браузера (рис. 12–2), в котором вы можете найти нужный файл или каталог в архиве. Нажмите OK, когда закончите, и Закрыть, чтобы закрыть архив.

Рисунок 12-2. Создание архива с помощью File Roller

С помощью File Roller вы можете делать намного больше, чем описано здесь. Дополнительную информацию см. в руководстве File Roller (доступно при нажатии Help => Manual ).

Сжатые файлы занимают меньше места на диске и загружаются быстрее, чем большие несжатые файлы. В Red Hat Linux вы можете сжимать файлы с помощью инструментов сжатия gzip , bzip2 или zip .

Рекомендуется средство сжатия bzip2, поскольку оно обеспечивает максимальное сжатие и используется в большинстве UNIX-подобных операционных систем. Инструмент сжатия gzip также можно найти в большинстве UNIX-подобных операционных систем. Если вам нужно передать файлы между Linux и другой операционной системой, такой как MS Windows, вы должны использовать zip, потому что он чаще используется в этих других операционных системах.

Таблица 12-1. Инструменты сжатия

По соглашению файлы, сжатые с помощью gzip, получают расширение .gz , файлы, сжатые с помощью bzip2, получают расширение .bz2 , а файлам, сжатым с помощью zip, присваивается расширение .zip .

Файлы, сжатые с помощью gzip, распаковываются с помощью gunzip , файлы, сжатые с помощью bzip2, распаковываются с помощью bunzip2 , а файлы, сжатые с помощью zip, распаковываются с помощью unzip .

Чтобы использовать bzip2 для сжатия файла, введите в командной строке следующую команду:

Файл будет сжат и сохранен как filename.bz2 .

Чтобы развернуть сжатый файл, введите следующую команду:

Имя файла.bz2 удаляется и заменяется именем файла .

Вы можете использовать bzip2 для одновременного сжатия нескольких файлов и каталогов, перечислив их с пробелом между каждым:

bzip2 имя файла.bz2 файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файл1 , файл2 , файл3 и содержимое каталога /usr/work/school (при условии, что этот каталог существует) и помещает их в файл с именем имя_файла.bz2 .

Для получения дополнительной информации введите man bzip2 и man bunzip2 в приглашении оболочки, чтобы прочитать справочные страницы для bzip2 и bunzip2 .

Чтобы использовать gzip для сжатия файла, введите в командной строке следующую команду:

Файл будет сжат и сохранен как filename.gz .

Чтобы развернуть сжатый файл, введите следующую команду:

Имя файла.gz удаляется и заменяется именем файла .

Вы можете использовать gzip для одновременного сжатия нескольких файлов и каталогов, перечислив их с пробелом между каждым:

gzip -r имя_файла.gz файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файлы file1 , file2 , file3 и содержимое каталога /usr/work/school (при условии, что этот каталог существует) и помещает их в файл с именем filename.gz .

Для получения дополнительной информации введите man gzip и man gunzip в приглашении оболочки, чтобы прочитать справочные страницы для gzip и gunzip .

Чтобы сжать файл с помощью zip , введите следующую команду:

zip -r имя_файла.zip каталог_файлов

В этом примере filename.zip представляет файл, который вы создаете, а filesdir представляет каталог, который вы хотите поместить в новый zip-файл. Параметр -r указывает, что вы хотите рекурсивно включить все файлы, содержащиеся в каталоге filesdir.

Чтобы извлечь содержимое zip-файла, введите следующую команду:

Вы можете использовать zip для одновременного сжатия нескольких файлов и каталогов, перечислив их с пробелом между каждым:

zip -r имя_файла.zip файл1 файл2 файл3 /usr/work/school

Приведенная выше команда сжимает файлы file1 , file2 , file3 и содержимое каталога /usr/work/school (при условии, что этот каталог существует) и помещает их в файл с именем filename.zip .

Для получения дополнительной информации введите man zip и man unzip в приглашении оболочки, чтобы прочитать справочные страницы для zip и unzip .

Файл tar – это набор нескольких файлов и/или каталогов в одном файле. Это хороший способ создания резервных копий и архивов.

-c — создать новый архив.

-f — при использовании с параметром -c использовать имя файла, указанное для создания tar-файла; при использовании с параметром -x разархивировать указанный файл.

-t — показать список файлов в tar-файле.

-v — показать ход архивации файлов.

-x — извлечь файлы из архива.

-z — сжать tar-файл с помощью gzip .

-j — сжать tar-файл с помощью bzip2 .

Чтобы создать tar-файл, введите:

tar -cvf filename.tar файлы/каталоги

В этом примере filename.tar представляет файл, который вы создаете, а files/directories – файлы или каталоги, которые вы хотите поместить в заархивированный файл.

Вы можете заархивировать несколько файлов и каталогов одновременно, перечислив их с пробелом между каждым:

tar -cvf имя_файла.tar /home/mine/work /home/mine/school

Приведенная выше команда помещает все файлы в рабочем и школьном подкаталогах /home/mine в новый файл с именем filename.tar в текущем каталоге.

Чтобы просмотреть содержимое tar-файла, введите:

tar -tvf имя файла.tar

Чтобы извлечь содержимое файла tar, введите:

tar -xvf имя файла.tar

Эта команда не удаляет tar-файл, но помещает копии его содержимого в текущий рабочий каталог.

Помните, что команда tar не сжимает файлы по умолчанию. Чтобы создать сжатый файл в формате tar и bzip, используйте параметр -j:

tar -cjvf имя_файла.tbz

Файлы tar, сжатые с помощью bzip2, обычно имеют расширение .tbz .

Эта команда создает файл архива, а затем сжимает его как файл имя_файла.tbz . Если вы распаковываете файл filename.tbz с помощью команды bunzip2, файл filename.tbz удаляется и заменяется файлом filename.tar .

Вы также можете расширить и разархивировать tar-файл bzip одной командой:

tar -xjvf имя_файла.tbz

Чтобы создать сжатый файл в формате tar и gzip, используйте параметр -z:

tar -czvf имя файла.tgz

Файлы tar, сжатые с помощью gzip, обычно имеют расширение .tgz .

Эта команда создает файл архива имя_файла.tar, а затем сжимает его в файл имя_файла.tgz . (Файл filename.tar не сохраняется.) Если вы распаковываете файл filename.tgz с помощью команды gunzip, файл filename.tgz удаляется и заменяется файлом filename.tar .

Читайте также: