junior
Как работать с архивами и сжатием в Linux?
Работа с архивами — повседневная задача при развёртывании приложений и резервном копировании.
tar — основной архиватор
Пример
# Создать архив со сжатием gzip (.tar.gz)
tar -czf archive.tar.gz directory/
# Распаковать tar.gz
tar -xzf archive.tar.gz
# Распаковать в конкретный каталог
tar -xzf archive.tar.gz -C /opt/myapp/
# Показать содержимое без распаковки
tar -tzf archive.tar.gz
Флаги tar: -c create, -x extract, -t list, -z gzip, -j bzip2, -J xz, -f file, -v verbose.
zip / unzip
Пример
sudo apt install zip unzip
zip -r archive.zip directory/ # Создать ZIP-архив
unzip archive.zip # Распаковать
unzip archive.zip -d /opt/myapp/ # Распаковать в каталог
unzip -l archive.zip # Показать содержимое
gzip / gunzip — сжатие отдельных файлов
Пример
gzip file.log # Сжать -> file.log.gz (оригинал удаляется)
gzip -k file.log # Сжать (сохранить оригинал)
gunzip file.log.gz # Распаковать
zcat file.log.gz # Прочитать без распаковки
Типичные сценарии для Java-разработчика
Пример
# Распаковать дистрибутив (Tomcat, Kafka)
tar -xzf apache-tomcat-10.1.20.tar.gz -C /opt/
# Создать бэкап
tar -czf /backup/myapp-$(date +%Y%m%d).tar.gz /opt/myapp/
# JAR — это ZIP-архив
unzip -l application.jar # Посмотреть содержимое
jar tf application.jar # То же через jar
На собеседовании: достаточно знать
tar -czf(создать) иtar -xzf(распаковать). Частая ошибка — забывать флаг-zдля gzip или путать порядок флагов. Полезный факт: JAR — это ZIP-архив, его можно распаковать черезunzip.