Функции Zip и Unzip значительно упрощают задачу передачи файлов. В этом руководстве вы узнаете, как использовать команды Linux для разархивирования файлов и улучшения рабочего процесса на VPS.
Zip — это широко используемая функция сжатия, которая является портативной и удобной для пользователя. Вы даже можете разархивировать файлы в Windows, созданные в Linux.
Unzip не включен по умолчанию в большинство версий Linux, но его можно легко установить. Создав .zip файлы, вы можете достичь той же степени сжатия, что и .tar.gz файлы.
Для чего используются Zip-файлы?
Вот несколько распространенных сценариев, в которых вы можете использовать zip-файлы:
- Частая работа между системами на базе Windows и Unix: Zip-файлы не только сжимают файлы, но и служат утилитами для упаковки файлов, что делает их совместимыми с несколькими операционными системами.
- Экономия пропускной способности: если у вас ограниченная пропускная способность, вы можете использовать zip-файлы для передачи файлов между двумя серверами.
- Сокращение времени передачи: Утилита zip уменьшает размер файлов, что ускоряет их передачу.
- Более быстрая загрузка или выгрузка каталогов.
- Экономия дискового пространства.
- Распаковка защищенных паролем файлов .zip файлы.
- Хорошая степень сжатия.
Установка Unzip на системы Debian и Ubuntu
Установка unzip очень проста. Если вы используете Ubuntu или Debian, используйте следующую команду для установки unzip:
$ sudo apt install unzip
После начала установки подождите минуту, пока она не завершится.
Чтобы создавать zip-файлы, вам нужно установить zip. Для этого выполните следующую команду:
$ sudo apt-get install zip
Установка Unzip в Linux CentOS и Fedora
Установка unzip в Linux CentOS и Fedora также проста. Используйте следующую команду:
$ sudo yum install unzip
После завершения установки вы можете подтвердить путь с помощью следующей команды:
$ which unzip
После выполнения команды в терминале вы должны увидеть вывод, подобный этому:
$ /usr/bin/unzip
Вы также можете проверить, что установка прошла успешно, используя следующую команду, которая отображает подробную информацию об утилите unzip:
$ unzip -v
Использование Zip и Unzip в Linux
Теперь, когда мы узнали, как установить утилиту, давайте изучим некоторые ее основные возможности:
Создание Zip-файлов в Linux
Основной синтаксис для создания .zip файл:
$ zip options zipfile list_Of_files
Чтобы продемонстрировать это, мы создадим два файла — File1.txt и File2.txt — и сожмем их в файл с именем ZipFile.zip с помощью следующей команды:
$ zip ZipFile.zip File1.txt File2.txt
Распаковка файлов в Linux
Команда unzip может быть использована без каких-либо опций для извлечения всех файлов в текущий каталог. Например:
$ unzip ZipFile.zip
Эта команда извлечет содержимое ZipFile.zip в текущий каталог при условии, что у вас есть доступ на чтение и запись к этому каталогу.
Удаление файла из .zip-файла
Как только .zip файл создан, вы можете удалить из него файлы. Если вы хотите удалить File1.txt из существующего ZipFile.zip, используйте следующую команду:
$ zip –d ZipFile.zip File1.txt
После выполнения этой команды вы можете извлечь измененный .zip файл с:
$ unzip ZipFile.zip
Вы заметите, что файл File1.txt больше не входит в состав извлеченных файлов.
Использование Zip в Linux для обновления и перемещения файлов
Обновление Zip-файла
После создания .zip вы можете добавить в него новые файлы или переместить в него определенные файлы с помощью следующих команд:
$ zip –u ZipFile.zip File2.txt
После выполнения вы можете извлечь ZipFile.zip чтобы найти новый добавленный файл.
Перемещение файлов в Zip-файл
Чтобы переместить определенные файлы в .zip-файл и удалить их из исходных каталогов, используйте опцию -m в команде:
$ zip –m ZipFile.zip File2.txt
Рекурсивное использование Zip в Linux
Опция -r позволяет рекурсивно сжимать файлы в каталоге, включая подкаталоги. Например, чтобы сжать все файлы в каталоге MyDirectory, используйте команду:
$ zip –r ZipFile.zip MyDirectory
В примере MyDirectory — это каталог, содержащий множество файлов и подкаталогов, которые нужно застегнуть.
Исключение файлов и каталогов из Zip-файлов
Чтобы исключить несколько файлов или каталогов при создании .zip-файла, вы можете использовать опцию -x, за которой следует список файлов или каталогов, которые вы хотите исключить. Например, чтобы исключить File1.txt и Каталог1 из ZipFile.zip, вы можете использовать следующую команду:
$ zip -x File1.txt Directory1 -r ZipFile.zip .
Здесь -r Опция используется для рекурсивного включения всех файлов и каталогов в текущем каталоге (.).
Распаковка файлов в определенный каталог
Если вы хотите извлечь содержимое .zip файл в определенную директорию, вы можете использовать команду -d за опцией следует путь к каталогу назначения. Например, чтобы извлечь содержимое каталога ZipFile.zip в каталог /home/user/extracted, вы можете использовать следующую команду:
$ unzip ZipFile.zip -d /home/user/extracted
Распаковка нескольких Zip-файлов
Чтобы извлечь несколько .zip файлы в текущем каталоге, вы можете использовать следующую команду:
$ unzip '*.zip'
Эта команда извлечет все отдельные .zip файлы в текущем каталоге.
Подавление вывода при использовании Unzip в Linux
Чтобы подавить вывод сообщений при использовании команды unzip, вы можете воспользоваться командой -q опция. Например, чтобы извлечь ZipFile.zip не выводя никаких сообщений, можно использовать следующую команду:
$ unzip -q ZipFile.zip
Исключение файлов с помощью Unzip в Linux
Чтобы исключить определенные файлы при извлечении из .zip файл, вы можете использовать -x за параметром следует имя файла или шаблон для исключения. Например:
$ unzip ZipFile.zip -x excludedFile.txt
В результате будут извлечены все файлы из ZipFile.zip за исключением excludedFile.txt.
Вы также можете исключить файлы на основе их типа. Например, чтобы исключить из извлечения все файлы .png, можно использовать следующую команду:
$ unzip ZipFile.zip -x "*.png"
Приведенная выше команда исключит все .png файлы не будут извлечены.
Извлечение защищенных паролем Zip-файлов в Linux
Если вам нужно извлечь защищенный паролем .zip файл, вы можете использовать -P за опцией следует пароль. Например:
$ unzip -P Password ZipFile.zip
Здесь, Пароль следует заменить на фактический пароль для .zip файл.
Перезапись Zip-файлов в Linux
При извлечении .zip файл, который уже существует в том же месте, вам будет предложено выбрать, перезаписать ли этот файл, пропустить извлечение или переименовать его. Например:
Ниже показаны варианты:
[y]es, [n]o, [A]ll, [N]one, [r]ename
Чтобы отменить эти опции и перезаписать все файлы без запроса, можно использовать опцию -o вариант.
$ unzip -o ZipFile.zip
Будьте осторожны при использовании этой опции, поскольку она полностью перезапишет существующие копии файлов без запроса подтверждения.
Избежание перезаписи файлов с помощью Unzip в Linux
Если вы хотите извлечь файлы без перезаписи существующих файлов, вы можете использовать функцию -n опция. При этом будут извлечены только те файлы, которые еще не существуют в каталоге назначения. Например:
$ unzip -n ZipFile.zip
Список содержимого Zip в Linux
Чтобы вывести список содержимого файла .zip файл в Linux, вы можете использовать -l опция. Это выведет подробный список всех файлов в архиве, включая их временные метки и другие сведения. Например:
$ unzip -l ZipFile.zip
Заключение
Вот и все! Теперь вы знаете основные функции zip и распаковать утилиты в Linux. Используйте эти команды, чтобы лучше управлять файлами.