«ZIP» — формат архивации файлов и сжатия данных без потерь. Архив ZIP используется в Windows, так как встроенный в него архиватор создаёт архивы именно в формате .zip, может содержать один или несколько файлов и каталогов, которые могут быть сжаты разными алгоритмами.

Установка ZIP:

В Ubuntu, Debian:

apt-get install zip unzip  

В CentOS:

yum install zip unzip  

Как запаковать архив ZIP в Linux

zip -9r archive.zip archive  
  • zip — команда архиватора, не меняется

  • -9r — ключи. Они определяют правила, по которым будет работать архиватор. Ключи указываются с дефисом в начале. Можно указывать ключи группой, можно каждый по отдельности, например -9-r.

Ключи могут быть:

  • 9 — степень сжатия. Может варьироваться от 1 до 9, от меньшего к большему, соответственно. Если указать 0, сжатия не произойдёт

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

  • x — исключить некоторые файлы или каталоги. Указывается отдельно в самом конце команды, например:

zip -9r archive.zip archive -x "archive/noarchive/*"  

Путь может быть как относительным, так и абсолютным. Пример абсолютного пути:

zip -9r archive.zip /var/www/example.com/archive/* -x "/var/www/example.com/archive/noarchive/*"  
  • — password — задаём пароль на архив. Например:
zip -9r --password pass archive.zip archive  

Теперь, на архив установлен пароль pass. Чтобы увидеть содержимое архива или его распаковать, Вас будут просить ввести пароль к архиву.

  • archive.zip — имя архива. Обязательно должно оканчиваться на .zip

  • archive — папка (каталог, директория), которую мы сжимаем. Тут указан путь относительно текущей директории. Можно указать абсолютный, скажем, /var/log/archive/* .

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

zip -9r archive.zip archive archive2 /var/www/example.com/archive/*  

Как распаковать архив zip в Linux

Чтобы распаковать архив .zip в текущий каталог, воспользуйтесь командой:
unzip archive.zip

Также, можно чётко указать путь для распаковки:

Пример с относительным путём:

unzip archive.zip -d archive  

Пример с абсолютным путём:

unzip archive.zip -d /var/www/example.com/archive/  

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

unzip archive.zip index.php  

Эта команда распакует файл index.php в текущий каталог.

Как увидеть содержимое архива ZIP в Linux

Чтобы увидеть содержимое архива .zip без распаковки, можно воспользоваться ключом -l

unzip -l archive.zip  

Мы рекомендуем вместо ZIP лучше использовать Tar, потому что формат .zip очень слабый и поддается взлому, поэтому старайтесь не шифровать им важную информацию.

Обновлено 14 августа 2018 г.