При работе с серверами и локальными машинами в Linux часто приходится сжимать файлы в архивы и извлекать их обратно. В этой статье разберём команды для работы с архивами ZIP, TAR.GZ, TAR.BZ2, TAR.XZ и их разархивации.
1. Архивация файлов
Создание ZIP-архива
Чтобы сжать папку или файлы в ZIP-архив, используйте команду:
zip -r archive.zip folder_nameПример: создание ZIP-архива для папки: /var/www/html
zip -r site_backup.zip /var/www/htmlСоздание TAR.GZ (gzip) архива
Для создания сжатого архива TAR.GZ используйте:
tar -czvf archive.tar.gz folder_nameПример:
tar -czvf site_backup.tar.gz /var/www/htmlСоздание TAR.BZ2 (bzip2) архива
Этот формат обеспечивает лучшее сжатие, но работает медленнее:
tar -cjvf archive.tar.bz2 folder_nameСоздание TAR.XZ (xz) архива
Формат XZ даёт максимальное сжатие, но дольше сжимает файлы:
tar -cJvf archive.tar.xz folder_nameВыборочное архивирование сайта
Иногда надо сделать архив сайта без самих файлов, тогда такая команда:
zip -r archive.zip public_html -x 'public_html/web/sites/default/files/**'
zip -ur archive.zip public_html/web/sites/default/files/.htaccessЛибо архив для переноса сайта без временных файлов из папки styles (на новом сайте эти файлы создадутся автоматом, а они часто занимают более половины веса всего сайта):
zip -r archive.zip public_html \
-x 'public_html/web/sites/default/files/styles/*' \
-x 'public_html/web/sites/default/files/styles/**'2. Разархивация файлов
Распаковка ZIP-архива
Чтобы разархивировать ZIP-файл:
unzip archive.zipЕсли нужно разархивировать в определённую папку:
unzip archive.zip -d /path/to/folderРаспаковка TAR.GZ
Чтобы извлечь файлы из TAR.GZ архива:
tar -xzvf archive.tar.gzДля разархивации в определённую папку:
tar -xzvf archive.tar.gz -C /path/to/folderРаспаковка TAR.BZ2
Команда для извлечения файлов:
tar -xjvf archive.tar.bz2Распаковка TAR.XZ
Для распаковки TAR.XZ архива:
tar -xJvf archive.tar.xzЗаключение
Выбор формата архива зависит от ваших задач:
- ✅ **ZIP** — универсальный и быстрый
- ✅ **TAR.GZ** — сбалансированное сжатие
- ✅ **TAR.BZ2** — лучшее сжатие, но медленнее
- ✅ **TAR.XZ** — максимальное сжатие
Теперь у вас есть все необходимые команды для архивации и разархивации файлов в Linux. Если у вас есть вопросы — пишите в комментариях!