ГлавнаяОперационные системыLinuxКак использовать команду Zip в Linux для сжатия файлов и папок

Как использовать команду Zip в Linux для сжатия файлов и папок

Команда zipв Linux — это, пожалуй, самый простой и интуитивно понятный способ работы с ZIP-файлами в командной строке. И не только это: формат файла ZIP универсален — почти в каждой ОС есть своя программа могут с ним работать. Вот все способы использования этой команды в любой командной строке Linux.

Как установить Zip в Linux

Последняя версия команды Linux zipдолжна быть доступна во всех основных менеджерах пакетов.

Для Debian/Ubuntu:

sudo apt install zip

Contents

Как установить Zip в Linux

/p>
sudo pacman -S zip

Для Fedora:

sudo dnf install zip

Для Gentoo

sudo emerge --ask zip

Примечание. Прежде чем что-либо устанавливать, обязательно сначала обновите менеджер пакетов, чтобы получить последнюю версию команды zip. Вы можете узнать, как это сделать, и многое другое с нашими Шпаргалка по менеджеру пакетов Linux .

Примечание. Если установлен zip, команда unzipтакже будет доступна.

Команда Zip в Linux: синтаксис и параметры

Команда zipимеет базовый синтаксис и принимает всего два параметра: имя выходного ZIP-файла и имя входного файла.

zip [options] <zip-file.zip> <files-to-archive>

/div>

Пример команды Zip для терминала Linux

Их позиции здесь важны. Если вы сделаете все наоборот, компьютер задастся вопросом, почему вы пытаетесь создать файл «file-to-archive.jpg» из несуществующего «zip-file.zip», и вернет ошибку..

Что касается настройки параметров, вам придется работать с флагами. Есть 8 флагов, которые вам регулярно понадобятся для обычного использования:

  • -dудалить выбранные заархивированные записи в ZIP-файле.
  • -qспокойно выполняет задание, ниче

    Команда Zip в Linux: синтаксис и параметры

    >проверьте целостность ZIP-файла.
  • -eзашифровать файл.
  • -uобновить ZIP-файл, добавив в архив новые файлы.
  • -mпереместить файл в архив.
  • -rрекурсивно добавлять файлы из папки в ZIP-файл.
  • -xисключить файлы с выбранными именами.
  • -iвключают только файлы с выбранными именами.

Вы можете размещать флаги где угодно: до вывода, после ввода или между ними — вы даже можете использовать несколько флагов, разбросанных по всей строке в любом порядке. Просто убедитесь, что вы вводите их послеввода zip.

Исключением являются -xи -i, после использования которых требуется новый ввод.

Как заархивировать файл в Linux с помощью команды Zip

Самый простой способ заархивировать файлы с помощью команды zip— ввести zip, затем имя ZIP-файла, а затем файл, который вы пытаетесь заархивировать или сжать.. Флаги не являются обязательными, поэтому вы можете сделать это, чтобы быстро заархивировать любой файл в Linux.

zip archive.zip text_file.txt
Базовая команда ZIP-папки терминала в Linux<

Вы также можете добавить больше файлов, добавив остальные после первого файла, который вы пытались заархивировать. И если в названии любого из них есть пробелы, вы можете заключить их в кавычки.

zip archive.zip "file 1.txt" "file 2.txt" "file 3.txt" "file 4.txt"
Терминал, архивирующий несколько файлов в одном примере команды Linux Zip<

Использование флага -d

Флаг -dпозволяет удалить файл, заархивированный в ZIP-файле, так же, как если бы вы добавили его в него.

zip -d archive.zip remove_me.jpg
Терминал Linux с использованием флага D 1

Вы также можете использовать его для удаления целых папок в архиве. Однако это не будет работать для файлов за пределами ZIP-файла (поэтому вы не сможете использовать его для удаления файлов после архивирования).

Использование флага -q

Флаг -qпредназначен для того, чтобы zipне возв

Как заархивировать файл в Linux с помощью команды Zip

>zip -q archive.zip text_file.txt
Терминал Linux с использованием флага Q

Это полезно, когда вы используете команду zipсо скриптом. Но если вы используете это самостоятельно, возможно, вам стоит избегать использования флага -q, поскольку вы не узнаете, был ли процесс архивирования успешным, без проверки с помощью dirили lsкоманда.

Использование флага -T

Некоторых файлов Некоторые ZIP-файлы могут быть повреждены во время загрузки. – бывает. Вы можете использовать флаг -Tдля проверки целостности и знать, действительно ли это поврежденный файл или вы просто вводите неправильный пароль.

zip -T archive.zip
Терминал Linux с использованием флага Big T

Это очень важно при загрузке больших файлов, таких как образы ОС. Для таких файлов вы можете успешно записать их на живой USB получить ошибки после запуска файла образа на своем компьютере. То ж

Использование флага -d

, фрагменты которых обрезаются в случайных местах.

Использование флага -u

Если вы хотите добавить новый файл в существующий ZIP-файл, вы можете использовать флаг -u.

zip -u archive.zip new_file.txt
Терминал Linux с использованием флага U

Вы также можете добавить больше файлов, добавив их после первого файла, как если бы вы обычно использовали команду zipдля создания нового ZIP-архива.

Использование флага -e

Если вы хотите добавить пароль, вам нужно использовать флаг -e. Эта опция применяет пароль и шифрование только к файлу, который вы добавляете в ZIP-файл в рамках своей команды, поэтому предыдущие файлы останутс

Использование флага -q

ользуете это с флагом -u.

zip -e archive.zip text_file.txt
Терминал Linux с использованием флага E, когда терминал запрашивает пароль

Самое замечательное в ZIP-файлах то, что процесс создания пароля также добавляет дополнительный уровень защиты, помимо предоставления доступа. Ваш пароль работает как цифровая подпись , который используется для расшифровки дополнительного уровня шифрования, добавленного в ZIP-файл.

Использование флага -m

Наконец, флаг -mудаляет исходный файл после его архивирования в ZIP-файл. Рассматривайте это как автоматизацию дополнительного шага, чтобы вам не приходилось удалять его самостоятельно.

zip Использование флага -Tile.txt
Терминал Linux, использующий флаг M с каталогом «До» и «После», чтобы показать, что файл исчез

Однако следует помнить один важный момент: флаг -mудаляет файлы таким образом, что их невозможно восстановить без использования инструмент восстановления файлов . Поэтому обязательно сохраните резервную копию или просто удалите файлы вручную с помощью команды rm .

Как заархивировать папку в Linux с помощью команды Zip

Если вы используете команду zipдля необработанной папки, у вас останется папка, которая вообще не содержит никаких файлов. Всякий раз, когда вы пытаетесь заархивировать папку, вам нужно использовать флаг -r.

Использование флага -r

Флаг -r, известный как рекурсивный, проходит через все содержимое папки и ее подпапок и архивирует каждое содержимое в ZIP-файл. Также сохранится текущая структура каждой подпапки.

zip -r archive.zip my_folder
Терминал Linux с использованием флага R

Это также работает, если в

Использование флага -u

екущей папке. Просто замените my_folderна ./, и цель изменится на все, что находится в текущем.

zip -r archive.zip ./
Использование команды Linux Unzip с флагом R для всех файлов в текущей папке

Кроме того, вы можете использовать это вместе с флагом -u, чтобы включать папки и их содержимое в существующий ZIP-файл.

zip -r -u archive.zip another_folder
Использование флага -e024/05/linux-terminal-using-the-r-flag-with-the-u-flag.jpg" alt="Терминал Linux, использующий флаг R с флагом U">

Использование флага -i

Флаг -iпозволяет выбрать конкретный файл, который вы хотите включить, и исключает все остальное в папке

zip -r archive.zip my_folder -i my_folder/a_subfolder/file1.txt
Терминал Linux с использованием флага I

Используя звездочки *с флагом -i, вы можете выбирать файлы со схожими именами, но заканчивающимися чем-то вроде числа. Например, если ввести *.txt, команда zipвключит все файлы TXT в папке.

zip -r archive.zip my_folder -i "*.txt"
Терминал Linux с использованием флага I с Asterisk

Использование флага -x

Флаг -xпозволяет исключить только определенные файлы при архивировании всей папки.

zip -r archive.zip my_folder -x my_folder/dont_zip.jpg
Тер<h3><span id=Использование флага -mага X">

Кроме того, флаг -xпереопределяет флаг -iпри совместном использовании. Таким образом, вы можете, например, указать zipвключить все остальные файлы того же типа, за исключением файла, который вы не хотите архивировать.

zip -r archive.zip my_folder -i "*.txt" -x my_folder/dont_zip.txt
Терминал Linux с использованием флагов X и I вместе

Как разархивировать файл с помощью команды Linux Zip

Программа распаковки является партнерской программой архиватора по умолчанию. Он извлекает файлы из вашего ZIP-архива.

Чтобы использовать эту программу, вам просто нужно ввести unzipи имя файла ZIP-архива.

unzip archive.zip
Базовая команда распаковки Linux

С помощью команды unzipвы разархивируете ZIP-файл в текущем рабочем каталоге независимо от того, откуда он был взят.

Чтобы извлечь или разархивировать файл Linux внутриZIP-файла, чтобы остальные остались нераспакованными, вы можете добавить его имя после той части, в которой вы вводите архив.

unzip archive.zip file.txt
Как заархивировать папку в Linux с помощью команды Zipзархивирование файла Txt">

Как распаковать папку Linux с помощью Zip

Хотя при разархивировании обычно извлекаются папки, расположенные в ZIP-архиве, может быть довольно сложно заставить его извлечь только определенные папки. Но это не значит, что это невозможно.

unzip archive.zip my_folder/a_subfolder/*
Использование флага -rontent/uploads/2024/05/selective-unzip-contents-of-a-single-folder.jpg" alt="Выборочное разархивирование содержимого одной папки">

Эта строка кода извлекает все, что находится внутри a_subfolder.

Кроме того, когда вы распаковываете папку, программа распаковки создает новую папку в текущем рабочем каталоге и распаковывает туда свои папки. Если существует папка с таким же именем (или присутствует предыдущая версия папки), система спросит, можно ли заменить файл, который сейчас находится в папке.

Часто задаваемые вопросы

Что делает команда gzip в Linux?

<див>

Команда Linux gzip — это инструмент, который можно использовать для хранения и сжатия файлов в файл GZ.

ZIP лучше, чем TAR?

<див>

В некотором смысле ZIP лучше, чем TAR, поскольку файлы ZIP могут сжимать, шифровать и защищать свое содержимое. Однако файлы TAR предназначены для объединения файлов в один файл для более быстрой передачи файлов, в то время как файлы ZIP (несмотря на то, что они используются для той же цели) имеют эти дополнительные функции.

TAR быстрее ZIP?

Файлы TAR не сжимают и не шифруют свое содержимое. Поэтому, если вы ищете более быстрый способ объединить большое количество файлов в один архив, который легко переносить, вы увидите некоторые преимущества при использовании TAR по сравнению с ZIP. Однако вам может оказаться проще передать файл ZIP вместо файла TAR, поскольку файлы ZIP, как правило, намного меньше файлов TAR.

Изображение предоставлено: Unsplash , скриншоты: Теренц Джомар Дела Круз

Использование флага -i

Использование флага -x

Как разархивировать файл с помощью команды Linux Zip

Как распаковать папку Linux с помощью Zip

Часто задаваемые вопросы

Что делает команда gzip в Linux?

ZIP лучше, чем TAR?

TAR быстрее ZIP?

ПОХОЖИЕ СТАТЬИ

Популярные записи