Команда zip
в Linux — это, пожалуй, самый простой и интуитивно понятный способ работы с ZIP-файлами в командной строке. И не только это: формат файла ZIP универсален — почти в каждой ОС есть своя программа могут с ним работать. Вот все способы использования этой команды в любой командной строке Linux.
Как установить Zip в Linux
Последняя версия команды Linux zip
должна быть доступна во всех основных менеджерах пакетов.
Для Debian/Ubuntu:
sudo apt install zipContents
- 1 Как установить Zip в Linux
- 2 Команда Zip в Linux: синтаксис и параметры
- 3 Как заархивировать файл в Linux с помощью команды Zip
- 4 Как заархивировать папку в Linux с помощью команды Zip
- 5 Как разархивировать файл с помощью команды Linux Zip
- 6 Как распаковать папку Linux с помощью Zip
- 7 Часто задаваемые вопросы
Как установить 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>
Их позиции здесь важны. Если вы сделаете все наоборот, компьютер задастся вопросом, почему вы пытаетесь создать файл «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 archive.zip "file 1.txt" "file 2.txt" "file 3.txt" "file 4.txt"
Использование флага -d
Флаг -d
позволяет удалить файл, заархивированный в ZIP-файле, так же, как если бы вы добавили его в него.
zip -d archive.zip remove_me.jpg
Вы также можете использовать его для удаления целых папок в архиве. Однако это не будет работать для файлов за пределами ZIP-файла (поэтому вы не сможете использовать его для удаления файлов после архивирования).
Использование флага -q
Флаг -q
предназначен для того, чтобы zip
не возв
Как заархивировать файл в Linux с помощью команды Zip
>zip -q archive.zip text_file.txtЭто полезно, когда вы используете команду zip
со скриптом. Но если вы используете это самостоятельно, возможно, вам стоит избегать использования флага -q
, поскольку вы не узнаете, был ли процесс архивирования успешным, без проверки с помощью dir
или ls
команда.
Использование флага -T
Некоторых файлов Некоторые ZIP-файлы могут быть повреждены во время загрузки. – бывает. Вы можете использовать флаг -T
для проверки целостности и знать, действительно ли это поврежденный файл или вы просто вводите неправильный пароль.
zip -T archive.zip
Это очень важно при загрузке больших файлов, таких как образы ОС. Для таких файлов вы можете успешно записать их на живой USB получить ошибки после запуска файла образа на своем компьютере. То ж
Использование флага -d
, фрагменты которых обрезаются в случайных местах.Использование флага -u
Если вы хотите добавить новый файл в существующий ZIP-файл, вы можете использовать флаг -u
.
zip -u archive.zip new_file.txt
Вы также можете добавить больше файлов, добавив их после первого файла, как если бы вы обычно использовали команду zip
для создания нового ZIP-архива.
Использование флага -e
Если вы хотите добавить пароль, вам нужно использовать флаг -e
. Эта опция применяет пароль и шифрование только к файлу, который вы добавляете в ZIP-файл в рамках своей команды, поэтому предыдущие файлы останутс
Использование флага -q
ользуете это с флагом-u
.
zip -e archive.zip text_file.txt
Самое замечательное в ZIP-файлах то, что процесс создания пароля также добавляет дополнительный уровень защиты, помимо предоставления доступа. Ваш пароль работает как цифровая подпись , который используется для расшифровки дополнительного уровня шифрования, добавленного в ZIP-файл.
Использование флага -m
Наконец, флаг -m
удаляет исходный файл после его архивирования в ZIP-файл. Рассматривайте это как автоматизацию дополнительного шага, чтобы вам не приходилось удалять его самостоятельно.
zipИспользование флага -Tile.txt
Однако следует помнить один важный момент: флаг -m
удаляет файлы таким образом, что их невозможно восстановить без использования инструмент восстановления файлов . Поэтому обязательно сохраните резервную копию или просто удалите файлы вручную с помощью команды rm .
Как заархивировать папку в Linux с помощью команды Zip
Если вы используете команду zip
для необработанной папки, у вас останется папка, которая вообще не содержит никаких файлов. Всякий раз, когда вы пытаетесь заархивировать папку, вам нужно использовать флаг -r
.
Использование флага -r
Флаг -r
, известный как рекурсивный, проходит через все содержимое папки и ее подпапок и архивирует каждое содержимое в ZIP-файл. Также сохранится текущая структура каждой подпапки.
zip -r archive.zip my_folder
Это также работает, если в
Использование флага -u
екущей папке. Просто заменитеmy_folder
на ./
, и цель изменится на все, что находится в текущем.
zip -r archive.zip ./
Кроме того, вы можете использовать это вместе с флагом -u
, чтобы включать папки и их содержимое в существующий ZIP-файл.
zip -r -u archive.zip another_folder
Использование флага -i
Флаг -i
позволяет выбрать конкретный файл, который вы хотите включить, и исключает все остальное в папке
zip -r archive.zip my_folder -i my_folder/a_subfolder/file1.txt
Используя звездочки *
с флагом -i
, вы можете выбирать файлы со схожими именами, но заканчивающимися чем-то вроде числа. Например, если ввести *.txt
, команда zip
включит все файлы TXT в папке.
zip -r archive.zip my_folder -i "*.txt"
Использование флага -x
Флаг -x
позволяет исключить только определенные файлы при архивировании всей папки.
zip -r archive.zip my_folder -x my_folder/dont_zip.jpg
Кроме того, флаг -x
переопределяет флаг -i
при совместном использовании. Таким образом, вы можете, например, указать zip
включить все остальные файлы того же типа, за исключением файла, который вы не хотите архивировать.
zip -r archive.zip my_folder -i "*.txt" -x my_folder/dont_zip.txt
Как разархивировать файл с помощью команды Linux Zip
Программа распаковки является партнерской программой архиватора по умолчанию. Он извлекает файлы из вашего ZIP-архива.
Чтобы использовать эту программу, вам просто нужно ввести unzip
и имя файла ZIP-архива.
unzip archive.zip
С помощью команды unzip
вы разархивируете ZIP-файл в текущем рабочем каталоге независимо от того, откуда он был взят.
Чтобы извлечь или разархивировать файл Linux внутриZIP-файла, чтобы остальные остались нераспакованными, вы можете добавить его имя после той части, в которой вы вводите архив.
unzip archive.zip file.txt
Как распаковать папку Linux с помощью Zip
Хотя при разархивировании обычно извлекаются папки, расположенные в ZIP-архиве, может быть довольно сложно заставить его извлечь только определенные папки. Но это не значит, что это невозможно.
unzip archive.zip my_folder/a_subfolder/*
Эта строка кода извлекает все, что находится внутри a_subfolder
.
Кроме того, когда вы распаковываете папку, программа распаковки создает новую папку в текущем рабочем каталоге и распаковывает туда свои папки. Если существует папка с таким же именем (или присутствует предыдущая версия папки), система спросит, можно ли заменить файл, который сейчас находится в папке.
Часто задаваемые вопросы
Что делает команда gzip в Linux?
<див>
Команда Linux gzip
— это инструмент, который можно использовать для хранения и сжатия файлов в файл GZ.
ZIP лучше, чем TAR?
<див>
В некотором смысле ZIP лучше, чем TAR, поскольку файлы ZIP могут сжимать, шифровать и защищать свое содержимое. Однако файлы TAR предназначены для объединения файлов в один файл для более быстрой передачи файлов, в то время как файлы ZIP (несмотря на то, что они используются для той же цели) имеют эти дополнительные функции.