Примеры использования zip и unzip в linux

Использования zip и unzip в linux

Сегодня я хотел сделать пост памятку по работе в Unix подобных системах с утилитами zip и unzip. Также рассмотреть несколько интересных команд, которые могут пригодиться для работы.

Установка zip и unzip:

В системе Debian/Ubuntu.

sudo apt-get install zip unzip

В системе Red Hat Linux/Fedora/CentOS.

    yum install zip
    yum install unzip
    

Пример использования утилиты zip

Пример 1: Создания архива из указанных файлов и папок

zip archive file1 file2 folder1

Пример 2: Создания архива текущего каталога (архив создается без подкаталогов)

zip archive *

Пример 3: Создания архива включая все подкаталоги используем ключ -r

Создает архив без скрытых файлов/каталог это файлы/каталоги начинающиеся с .

zip archive * -r

Создает архив с скрытыми файлами и каталогами

zip archive . -r

Пример 4: Чтобы сжать быстро используйте -1, но для более лучшего сжатие используйте -9

zip archive . -9 -r 

Пример 5: Опция -x позволяет исключать файлы и каталоги из архива

zip archive . -9 -r -x "assets/*" "media/*" "robots.txt" ".htaccess"

Пример 6: Также опция -x позволяет исключать файлы и каталоги по шаблону

zip archive . -r -x "*ted/" "*.xml"

Таким способом я исключаю все каталоги заканчивающихся на ted и файлы расширения xml

Пример 7: Разбиваем архив на части с помощью опции -s

zip archive . -9 -r -s 5m

Также есть возможность указать опцию размера части архива в: k (KB), m (MB), g (GB), t (TB)

Пример 8: Задать пароль можно опцией -e или опцией -P ...

zip archive . -9 -r -e
zip archive . -9 -r -P 123

Пример 9: Выбрать только указанные файлы/каталоги

zip archive . -r -i /*.php /media/*

Пример 10: Удаление файлов из созданного архива

zip archive -d /protected/* sitemap.xml

Пример 11: Обновить содержимое созданного архива

zip archive -r -u protected/* sitemap.xml

Пример 11: Тихий режим (Полезно, например, в сценариях оболочки и фоновых задач)

zip archive . -r -q

Пример 12: Извлечь все содержимое архива

unzip archive

Пример 13: Извлечь все содержимое архива в указанную директорию

unzip archive -d tmp/

Пример 14: Показать содержимое архива

unzip archive -l

Пример 15: Извлечь конкретный файл из архива

unzip archive -d tmp/ protected/*