Расширенные параметры распаковки ZIP - файлов
Теперь, когда вы освоили основы извлечения содержимого ZIP - архивов, давайте рассмотрим некоторые более продвинутые опции команды unzip, которые могут быть полезны в различных сценариях.
Создание нового ZIP - архива для практики
Создадим новый ZIP - архив с несколькими файлами, чтобы поэкспериментировать с продвинутыми опциями:
## Create a new directory for our files
mkdir -p testdir/subdir
## Create some sample files in different locations
echo "This is a file in the main directory." > testdir/main.txt
echo "This is a file in the subdirectory." > testdir/subdir/sub.txt
## Compress the directory with all its contents
zip -r testarchive.zip testdir
## Remove the original directory to simulate receiving only the ZIP file
rm -rf testdir
Теперь у вас есть ZIP - архив с именем testarchive.zip, который содержит структуру каталогов с файлами.
Извлечение с подробным выводом
Для более подробного вывода во время извлечения можно использовать опцию -v (verbose - подробный):
unzip -v testarchive.zip
Это отобразит подробную информацию о каждом файле в архиве, включая метод сжатия, сжатый и несжатый размеры и другие данные.
Извлечение в другой каталог
По умолчанию unzip извлекает файлы в текущий каталог. Чтобы извлечь файлы в другой каталог, используйте опцию -d, за которой следует путь к целевому каталогу:
## Create a directory to extract to
mkdir extraction_target
## Extract the ZIP file to the new directory
unzip testarchive.zip -d extraction_target
Теперь содержимое testarchive.zip будет извлечено в каталог extraction_target.
Извлечение определенных файлов
Если вы хотите извлечь только определенные файлы из ZIP - архива, вы можете указать имена файлов после имени архива:
## First, let's list the contents to know what's available
unzip -l testarchive.zip
## Now, extract only the main.txt file
unzip testarchive.zip testdir/main.txt
Извлечение без перезаписи существующих файлов
Если вы беспокоитесь о перезаписи существующих файлов при извлечении, вы можете использовать опцию -n (never overwrite - никогда не перезаписывать):
unzip -n testarchive.zip
С этой опцией unzip не будет извлекать файлы, которые перезапишут существующие файлы с тем же именем.
Проверка результатов
Проверим, что мы извлекли:
## Check the extracted directory structure
ls -R testdir
## Check the extraction_target directory
ls -R extraction_target
Вы должны увидеть структуру каталогов и файлы, которые вы создали ранее.
Эти продвинутые опции дают вам больше контроля над тем, как файлы извлекаются из ZIP - архивов, делая команду unzip универсальным инструментом для работы с сжатыми файлами в Linux.