Примеры использования 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/*