7 способов заархивировать и разархивировать файлы в Linux

Мы всегда хотим больше и быстрее, особенно когда речь идет о данных. Проблема в том, что «больше» и «быстрее» обычно не в ладах, поэтому имеем сжатие файлов(file compression) . Есть несколько способов заархивировать и разархивировать файлы в Linux , и мы собираемся показать вам методы, лежащие в их основе.

Заархивируйте и разархивируйте с помощью Zip в Linux(Zip and Unzip Using Zip in Linux)

Практически в каждый дистрибутив Linux(Linux) встроено несколько инструментов сжатия, широко известных как дистрибутивы Linux(Linux distros) . Zip , пожалуй, самый популярный. Утилиту Zip можно использовать в графическом пользовательском интерфейсе ( GUI ) или в терминале.

Zip в графическом интерфейсе Linux(Zip in the Linux GUI)

  1. Перейдите к файлам(Navigate to the files) , которые нужно сжать, и выберите их. Затем щелкните правой кнопкой мыши и выберите «Сжать»(Compress) .

  1. Введите имя для заархивированного(zipped) архива. Обратите внимание, что вы также можете выбрать два других типа сжатия. Это может варьироваться между дистрибутивами.

  1. Вскоре вы увидите свой заархивированный архив. Обратите внимание, что размер архива намного меньше, чем общий размер помещаемых в него файлов.

Разархивируйте в графическом интерфейсе Linux(Unzip in the Linux GUI)

  1. Найдите заархивированный архив, который нужно разархивировать, и щелкните его правой кнопкой мыши. Выберите «Извлечь сюда»(Extract Here) или «Извлечь в…»(Extract to…) . Extra Here помещает содержимое в этот каталог. Извлечь(Extract) в… позволяет выбрать другое место для размещения содержимого.

Файлы извлечены. Обратите внимание(Notice) , что они вернулись к своему полному размеру 100 МБ каждый.

Диспетчер архивов для распаковки в графическом интерфейсе Linux(Archive Manager to Unzip in the Linux GUI)

В некоторые дистрибутивы Linux встроены другие способы распаковки. В этом примере вы можете использовать Менеджер(Manager) архивов .

  1. Щелкните правой кнопкой мыши(Right-click) архив и выберите « Открыть с помощью диспетчера архивов(Open With Archive Manager) » .

  1. Выделите(Highlight) файлы для извлечения, щелкнув их один раз. Вы можете выбрать один, несколько или все из них. Затем выберите Извлечь(Extract ) в верхнем левом углу.

  1. На этом этапе вы можете выбрать, куда извлечь файлы с помощью файлового менеджера. Затем выберите Извлечь(Extract) в правом верхнем углу.

  1. Когда извлечение завершено, вы можете либо продолжить, либо показать файлы(Show the Files) .

Файл вернулся к своему полному размеру. Копия остается внутри архива.

Zip-файлы в терминале Linux(Zip Files in Linux Terminal)

Откройте терминал и перейдите в каталог, где находятся файлы, которые нужно заархивировать. Введите команду zip ziptest.zip *

Zip говорит Linux использовать утилиту zip, ziptest.zip сообщает ему желаемое имя для архива, asterisk (*) — это подстановочный знак, означающий заархивировать все файлы в этом каталоге. 

Он сжимает файлы, составляет их список и сообщает, насколько он их сжал или сжал.

Многие действия можно использовать с командой zip. Чтобы просмотреть их, введите zip –help, и вы увидите примерно следующее изображение.

Распаковать файлы в терминале Linux(Unzip Files in Linux Terminal)

В Терминале используйте команду unzip ziptest.zip , где unzip — это команда, а ziptest.zip — имя архива, который нужно распаковать.

Он покажет файлы, которые были распакованы, чтобы вы знали, когда это будет сделано.

Как и в случае с командой zip, с командой unzip можно выполнять множество действий. Чтобы просмотреть их, введите unzip –help, и вы увидите примерно следующее изображение.

Bzip2 для сжатия и распаковки файлов в Linux(Bzip2 for Zipping and Unzipping Files in Linux)

Bzip2 — еще одна утилита сжатия, встроенная в большинство дистрибутивов Linux . Основное отличие заключается в том, что bzip2 не может заархивировать несколько файлов в один архив. Каждый файл получает свой заархивированный архив.

Zip-файлы в терминале Linux с помощью Bzip2(Zip Files in Linux Terminal With Bzip2)

Введите команду bzip2 -kv9 testfile1.txt testfile2.txt, где bzip2 — это команда.

-kv9 расшифровывается(-kv9 ) как k означает сохранение(k) оригиналов, v означает многословие(v) , чтобы мы могли видеть, что происходит, и 9 для максимального уровня сжатия. Вы можете выбрать от 1 до 9. Чем выше уровень сжатия, тем больше времени занимает сжатие файлов.

Вывод говорит нам больше, чем zip, но конечный результат почти такой же.

Разархивируйте файлы в терминале Linux с помощью Bzip2(Unzip Files In Linux Terminal With Bzip2)

Введите команду bzip2 -kvd testfile.1.txt.bz2 testfile2.txt.bz2 . Опции -kvd подразделяются(-kvd ) на k для(k ) сохранения архивов(k) , v для подробного вывода и (v)d для распаковки(d) .

Вы видите файлы, которые распаковываются, и знаете, когда это будет сделано.

Чтобы просмотреть параметры bzip2, введите bzip2 –help, и вы увидите следующее. Поэкспериментируйте с параметрами некритических файлов, просто чтобы посмотреть, на что они способны.

Gzip для сжатия и распаковки файлов в Linux(Gzip for Zipping and Unzipping Files in Linux)

Это последняя из популярных утилит сжатия, включенных в большинство дистрибутивов. Это легче, чем bzip2 и zip для опций. Однако качество сжатия остается примерно таким же.

Zip-файлы в терминале Linux с помощью Gzip(Zip Files in Linux Terminal With Gzip)

Введите команду gzip2 -kv9 testfile.1.txt testfile2.txt . Параметры -kv9 разбиваются на k для сохранения(k) файлов, v для подробного вывода и 9 (v)для(9) наивысшего уровня сжатия от 1 до 9.

Как видно из подробного вывода, gzip работает так же, как и другие методы архивирования.

Распаковать файлы в терминале Linux с помощью Gzip(Unzip Files in Linux Terminal With Gzip)

Есть два способа распаковать gzip-архивы. Один из них — использовать gzip, а другой — gunzip.

Для команды gzip используйте gzip -kvd testfile1.txt.gz testfile2.txt.gz . Обратите внимание на опцию d . Это означает распаковать(d) .

Для команды gunzip используйте gunzip testfile1.txt.gz testfile.2.txt.gz . Единственное отличие от gzip заключается в том, что gunzip не требует опций для базовой распаковки.

Как насчет Tar для архивирования и распаковки файлов в Linux?(What About Tar to Zip and Unzip Files in Linux?)

Почему tar еще не упоминался? Это инструмент архивации, который берет кучу файлов и помещает их в один архив для удобства транспортировки. Каким бы ни был размер файла, размер tar-файла будет примерно одинаковым. 

Но если вы объедините метод zip с tar, то вы получите что-то действительно классное. Вы получаете хорошо сжатый единый пакет файлов. 

Используя другие методы zip для каталога файлов, вы получите сжатый архив для каждого файла в каталоге. Использование tar с параметром gzip для каталога сжимает все и создает один архив.

Zip-файлы в терминале Linux с помощью Tar и Gzip(Zip Files in Linux Terminal With Tar and Gzip)

Введите команду tar -czvf Documents.tgz Documents

Параметры -czvf разбиваются следующим образом: c для создания нового архива, z для сжатия с помощью g zip (c)ip, v для подробного вывода и f (f )для(z) файла ,(v) равного архиву ,(v) что означает(f) , что архив поддерживает файловую структуру исходного каталога. 

Новый архив должен быть назван, в данном примере это Documents.tgz . Используя расширение файла .tgz , другие люди узнают, что это tar-архив, сжатый с помощью gzip. Наконец , Documents — это каталог для архивирования и сжатия.

Вывод выглядит следующим образом.

В диспетчере файлов(File Manager) вы можете увидеть tar-архив и то, что он сжат.

Распаковать файлы в терминале Linux с помощью Tar и Gzip(Unzip Files in Linux Terminal With Tar and Gzip)

Для распаковки сжатого tar-архива используется та же команда tar с немного другими параметрами. 

Введите команду tar -xzvf Documents.tgz Documents

Опции -xzvf разбиваются на x для извлечения (x),(-xzvf) z для(z) распаковки с помощью g z ip , v для подробных сведений, чтобы мы могли наблюдать, как это происходит, а f для file=archive означает сохранение файловой структуры. Documents.tgz — это архив, который нужно распаковать и разархивировать, а Documents — это каталог, в который вы хотите поместить содержимое.

Результаты показаны на изображении ниже. Два файла вернулись к полному размеру и находятся в каталоге Documents .

Чтобы просмотреть параметры tar, введите tar –help, и вы получите несколько страниц параметров. Обратите внимание(Notice) , что помимо gzip доступны различные методы архивирования, поэтому вы можете выбрать тот, который вам нравится.

Менее популярные инструменты Zip в Linux(Less Popular Zip Tools in Linux)

В большинстве дистрибутивов Linux есть еще две утилиты сжатия(Linux) . Однако они не так популярны. Тем не менее, они перечислены здесь, так что вы знаете о них.

ЛЗМА(LZMA)

LZMA — еще одна утилита сжатия командной строки, часто встречающаяся в дистрибутивах Linux . Это алгоритм сжатия, используемый 7-Zip.

XZ

Утилита XZ — это инструмент сжатия командной строки, часто включаемый в дистрибутивы Linux . Его параметры аналогичны параметрам bzip2. Он основан на алгоритме LZMA2 , который основан на LZMA .

Более подробную информацию об этих утилитах можно найти с помощью команд lzma –help и xz –help .

Разве нет других способов заархивировать и разархивировать в Linux?(Aren’t There Other Ways To Zip and Unzip in Linux?)

Мы рассмотрели только инструменты сжатия, встроенные в большинство дистрибутивов Linux . Тем не менее, в Linux есть несколько других способов архивирования и распаковки файлов. Некоторые из них имеют графический интерфейс(GUIs) , некоторые являются утилитами командной строки, а некоторые можно использовать как с их графическим интерфейсом, так и через командную строку. Используете ли вы один из этих zip-инструментов в Linux ? Какой из(Which one) них ваш любимый и почему? Дайте нам знать об этом в комментариях.



About the author

Я iOS-разработчик с более чем 10-летним опытом. Я специализируюсь на разработке приложений для iPhone и iPad. У меня есть опыт создания пользовательских потоков, создания пользовательских комплектов разработки (CDK) и работы с различными средами разработки приложений. В своей предыдущей работе я также разработал инструменты для управления магазином приложений Apple, в том числе инструмент управления продуктами и инструмент отправки приложений.



Related posts