ZIP является наиболее популярным и эффективным форматом архивных файлов. Он совместим с любой платформой, включая Linux, Windows и другими операционными системами на базе UNIX. Так как он широко используется, вы часто столкнетесь с zip-файлами. И для работы с zip-файлами вам необходимо очень хорошо знать, как работать с ними. Если вы новичок в Linux и не знаете, как архивировать и распаковывать zip-файлы на Ubuntu, то это краткое и простое руководство для вас. В этом руководстве я покажу вам все доступные способы (как с помощью терминала, так и с помощью графического интерфейса) архивирования и разархивирования файлов на Ubuntu Linux.

Архивирование и распаковка файлов в Ubuntu

В данной статье мы используем версию Ubuntu 20.04 LTS. Хотя руководство будет работать точно так же для любой версии Ubuntu. Для решения этой задачи нам необходимо проверить, есть ли в системе предустановленный zip. В большинстве случаев она установлена. Если его нет, то его можно установить следующей командой. Откройте терминал и выполните команду:

sudo apt install zip unzip

Эта команда установит необходимые для наших задач программы.

1. Архивация с помощью командной строки

Используйте команду zip для архивации файлов из терминала. Формат ее выглядит следующим образом:

zip zipname file1 file2 file3 ... fileN

Параметр zipname - это имя вашего архивированного файла. Файлы записываются последовательно, один за другим. Вы можете заархивировать неограниченное количество файлов. Для лучшего понимания, посмотрите на рисунок ниже.

Здесь все три файла - samplefile1, samplefile2 и samplefile3 заархивированы в папку newzip.zip. Вы также можете заархивировать папки вместе с файлами, используя следующую команду:

zip zipname file1 file2… fileN folder1 folder2… folderN

Команда будет выполнена так же, как и раньше. Здесь мы архивировали два файла с папкой в файл newzip1.zip.

2. Архивация с помощью графического интерфейса

Вы можете добавлять файлы в архивы с помощью графического интерфейса. Системы Linux предоставляют отличный графический интерфейс для более простой работы. Прежде всего, перейдите в каталог файлов, которые нужно заархивировать. Затем выделите файлы с помощью ctrl и щелкните правой кнопкой мыши, чтобы увидеть контекстное меню. Выберите пункт Сжать...

После щелчка по по этому пункту меню появится всплывающее окно.

Здесь мы можем указать наименование файла и выбрать способ сжатия. Существуют и другие способы, например, .tz, .gz, .rar и др. В нашем руководстве мы рассмотрим формат сжатия .zip.

3. Распаковка архива с помощью командной строки терминала

Чтобы распаковать архивный файл, перейдите в целевую директорию. Затем вам просто нужно использовать команду unzip. См. ниже

unzip zipname

Здесь zipname - это также имя вашего будущего файла архива.

Повторяющиеся файлы будут автоматически заменены. Это потому, что мы распаковываем zip-файл в одну папку с файлами. Введите A, чтобы распаковать все. Если вы хотите распаковать файлы в другой каталог, команда будет выглядеть следующим образом:

unzip zipname -d directoryname

Здесь необходимо указать имя директории, указав ее вместе с атрибутом -d.

4. Распаковка архива с помощью графического интерфейса

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

5. Распаковка .gz файлов

В системах Linux многие файлы заархивированы в формате .gz. В Ubuntu вы также можете извлечь этот тип файлов. Просто используйте следующую команду:

gunzip filename.gz

gunzip работает с другими форматами архивов, включая z, .Z, .taz, .tgz, _z и др. Просто укажите имя файла после команды, и файл будет распакован.

6. Распаковка .rar файлов

Для распаковки файлов .rar на вашем компьютере должен быть установлен пакет unrar. Сначала установите его следующей командой:

sudo apt-get install unar

Данная утилита распаковывает файлы .rar.

unrar filename.rar

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

unar -o ./directoryname filename.rar

7. Распаковка .tar.gz файлов

Другой популярный формат архивных файлов - .tar.gz. Вы можете распаковать его и в терминале. Сначала распакуйте файл .gz командой gunzip.

gunzip filename.tar.gz

Затем выполните следующую команду:

tar xvf filename.tar

Если в вашей системе есть GNU tar, вы можете извлечь файл непосредственно одной командой:

tar zxvf filename.tar.gz

8. Распаковка .7z файлов

Для распаковки файлов с расширением .7z необходимо сначала установить p7zip на компьютер. Для этого выполните следующую команду в терминале:

sudo apt-get install p7zip-full

Эта команда покажет содержимое файла:

7z l backup.7z

Теперь напишите выполните это для извлечения файла:

7z e backup.7z

9. Распаковка файлов, используя Python Script

Если вы не хотите вручную ничего устанавливать для извлечения файлов, вы можете использовать для этого скрипты. Скриптовый язык Ubuntu Python поставляется со всеми необходимыми модулями, которые также предлагают функционал распаковки архивов. Следующий скрипт может быть использован при распаковке zip-файла.

#!/usr/bin/env python3 
import sys 
from zipfile import PyZipFile 
for zip_file in sys.argv[1:]:
    pzf = PyZipFile(zip_file) 
    pzf.extractall()

Затем выполните следующую команду, чтобы запустить этот сценарий и распаковать файлы.

python3 pyunzip.py filename.zip

10. Распаковка файлов, используя Perl Script

Perl также является скриптовым языком для Linux и предлагает похожие модули, как Python выше. Этот простой Perl скрипт позволит вам распаковать файлы. Просто вставьте этот код и сохраните, например, под названием perlunzip.pl:

#!/usr/bin/env perl 
use Archive::Extract; 
foreach my $filepath (@ARGV){ 
        my $archive = Archive::Extract->new( archive => $filepath ); 
        $archive->extract; 
}

Затем напишите эту команду для извлечения ваших zip-файлов.

perl perlunzip.pl filename.zip

В заключение

Этим мы заканчиваем наше руководство. В нем мы попытались описать все возможные способы архивирования и разархивирования файлов в Ubuntu. Утилита командной строки пригодится при работе с удаленным сервером. Формат пользовательского интерфейся прост и доступен из контекстного меню, чтобы сделать приятной работу в Linux пользователям windows и macOS.

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

Надеюсь, что этого руководства будет достаточно. Если я пропустил что-нибудь, пожалуйста, дайте мне знать в комментариях. Счастливого обучения!