Команды Linux

Команды Zip и Unzip в Linux

Команды Zip и Unzip в Linux

Zip - популярная кроссплатформенная команда, используемая для сжатия и архивирования данных. Сжатие экономит место за счет уменьшения размера данных, в то время как архивирование упрощает передачу данных за счет объединения нескольких файлов или каталогов в один файл. Представьте, если нам нужно передать через Интернет 5 файлов, каждый размером 50 мегабайт; передача всех файлов по одному может занять много времени. Сжатие файлов для уменьшения размера до 25 МБ и последующее архивирование всех их в одном файле значительно ускорит передачу файлов, чем в несжатом виде. Zip - это наиболее широко используемая утилита для архивирования и сжатия файлов, в то время как unzip используется для извлечения и распаковки заархивированных файлов.

В этой статье мы рассмотрим команды zip и unzip в Linux, а также их параметры командной строки и примеры.

Предпосылки

Примечание: Команды, упомянутые в этой статье, были протестированы на Ubuntu 20.04 LTS (фокальная ямка). Те же команды применимы и к дистрибутиву Debian.

Установка Zip и разархивирования

По умолчанию в системах Ubuntu установлены пакеты zip и unzip. Если они отсутствуют в вашей системе, вы можете легко их установить. Запустите Терминал с помощью клавиатуры Ctrl + Alt + T. Затем, чтобы установить zip, введите в Терминале следующее:

$ sudo apt install zip

Чтобы установить распаковку, введите в Терминале следующую команду:

$ sudo apt install распаковать

Есть несколько сценариев, в которых вам может потребоваться заархивировать файлы:

Команда ZIP в Linux

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

$ zip options zip_file file1 file2…

Заархивировать один файл

Чтобы заархивировать один файл с именем тестовый файл.текст; в zip-файл с именем контрольная работа.застегивать, команда будет такой:

$ zip test.zip testfile.текст


Приведенная выше команда сжимает указанный файл в текущем каталоге, оставляя исходный файл позади.

Чтобы убедиться, что zip-файл был создан, введите команду в Терминале ниже:

$ ls -l

Заархивировать несколько файлов

Вы также можете заархивировать несколько файлов с помощью команды zip. Создадим несколько файлов с именем testfile1.текстtestfile2.текстtestfile3.текст, а также testfile4.текст используя следующую команду в Терминале:

$ sudo touch testfile1.txt testfile2.txt testfile3.txt testfile4.текст

Теперь, чтобы заархивировать эти файлы в один файл с именем файлы.застегивать, введите следующую команду в Терминале:

$ zip файлы.zip testfile1.txt testfile2.txt testfile3.txt testfile4.текст

Вы также можете использовать подстановочный знак, чтобы указать несколько файлов с одинаковым расширением. Например, чтобы заархивировать все файлы, заканчивающиеся на .txt в zip-файле с именем files1.zip, введите в Терминале следующую команду:

$ zip files1.zip *.текст

Заархивируйте файл в другой каталог

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

$ zip / путь / к / каталогу.zip_file имя файла

Например, застегнуть тестовый файл.текст файл в каталог Documents / docs / с именем контрольная работа.застегивать, команда будет такой:

$ zip Documents / docs / test.zip testfile.текст

Добавить файл в существующий zip-архив

Вы также можете добавить файл в уже существующий zip-файл. Для этого используйте следующий синтаксис:

$ zip -u zip_file имя_файла

Допустим, у вас есть zip-файл (files1.застегивать), И вы хотите включить еще один файл (testfile4.текст) В этом случае команда будет выглядеть так:

$ zip -u файлы1.zip testfile4.текст

Удалить файл из ZIP-файла

Точно так же вы также можете удалить файл из уже существующего zip-файла. Для этого используйте следующий синтаксис:

$ zip -d zip_file имя_файла

Допустим, у вас есть zip-файл (files1.застегивать), И вы хотите удалить файл (testfile1.текст), Команда в этом случае будет такой:

$ zip -d файлы1.zip testfile1.текст

Архивировать файлы в тихом режиме

Если вы не хотите отображать вывод команды zip, используйте параметр -q (quiet) с командой zip следующим образом:

$ zip -q zip_file имя_файла

Например, при архивировании тестового файла.txt, вы можете подавить вывод с помощью следующей команды:

$ zip -q тест.zip testfile.текст

На следующем снимке экрана вы можете увидеть выходные данные команды zip, которые не отображались в Терминале.

Удаление исходных файлов после архивирования

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

$ zip -m zip_file имя_файла

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

$ zip -m тест.zip testfile.текст

Почтовые каталоги

Чтобы заархивировать каталоги в вашей системе Linux, используйте -р (рекурсивный) вариант с помощью команды zip. В  опция рекурсивно заархивирует каталоги, я.е., включая содержимое подкаталогов.

$ zip -r имя_директора zip_file

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

$ zip -r тест.zip Документы /

Эта команда заархивирует каталог Documents вместе со всеми подкаталогами и файлами, включенными в него.

Установка уровня сжатия

Вы также можете установить уровень сжатия, который будет применяться к архивируемым файлам. Уровень сжатия варьируется от 0 до 9, где 6 - значение по умолчанию, 0 - самое низкое значение, а 9 - самое высокое значение сжатия.

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

$ zip -9 файлов1.zip *.текст


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

$ zip -0 файлов2.zip *.текст


Ниже приводится результат работы ls команда после создания zip-файлов. Если мы сравним размеры обоих zip-файлов, вы увидите files1.zip, сжатый с использованием уровня сжатия 9, имеет меньший размер по сравнению с файлами2.zip, сжатый с использованием уровня сжатия 0.

Создайте защищенный паролем zip-файл

Вы также можете создавать zip-файлы, защищенные паролем, с помощью -е вариант с помощью команды zip следующим образом:

$ zip -e zip_file имя_файла

Например, следующая команда заархивирует все текстовые файлы в файлы3.застегивать, затем спросите пароль. Установите любой пароль и нажмите Enter. Затем проверьте этот пароль, повторно набрав его и нажав Enter.

$ zip -e файлы3.zip *.текст

Добавление паролей к zip-файлам с помощью zipcloak

В предыдущем примере мы создали zip-файл, защищенный паролем. Но что делать, если вы создали zip-файл и забыли установить пароль. С помощью команды zipcloak вы можете установить пароль для zip-файла в любое время.

$ zipcloak zip_file

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

файлы $ zipcloak.застегивать

Вам будет предложено ввести пароль. Введите любой пароль и нажмите Входить. Затем подтвердите этот пароль, набрав его еще раз и нажав Входить.

Просмотр сведений о файле с помощью команды zipdetails

Команда Zipdetails показывает подробную информацию о заархивированном файле. Информация, которую он отображает, касается структуры записи, а не сжатых данных. Чтобы найти подробную информацию о заархивированном файле, введите zipdetails, а затем имя заархивированного файла, как показано ниже:

$ zipdetails zip_file

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

$ zipdetails test.застегивать

На выходе вы увидите много информации о вашем заархивированном файле.

Найдите внутри файла с помощью команды zipgrep

Команда zipgrep позволяет нам искать заданный текст в файлах внутри заархивированного файла, не извлекая его. Если zip-файл защищен паролем, вам нужно сначала ввести для него пароль. Для поиска текста внутри zip-файла используйте следующий синтаксис:

$ zipgrep выражение zip_file

Например, для поиска файлов внутри zip-файла контрольная работа.застегивать содержит слово шлюз, команда будет такой:

Тест шлюза $ zipgrep.застегивать

Результат выглядит следующим образом. Вы можете увидеть два файла iplist.текст а также iplist внутри контрольная работа.застегивать содержит слово шлюз.


Чтобы найти текст из определенного файла внутри zip-файла, вы также можете добавить его:

$ zipgrep выражение zip_file имя_файла

Например, следующая команда будет искать слово шлюз только из определенного файла iplist внутри zip файла контрольная работа.застегивать:

Тест шлюза $ zipgrep.zip Document / docs / iplist

Просмотр информации с помощью команды zipinfo

Команда zipinfo в Linux выводит список файлов, содержащихся в zip-файле, вместе с их разрешениями, типом сжатия, исходным размером, датой и отметкой времени. Чтобы просмотреть информацию о конкретном zip-файле, введите zipinfo, а затем имя файла, как показано ниже:

$ zipinfo имя файла

Следующая команда отобразит информацию о zip-файле files1.застегивать:

$ zipinfo files1.застегивать

Разделите файл с помощью команды zipsplit

Иногда размер zip-файла слишком велик, и вы не можете загрузить его или отправить как вложение из-за ограничений по размеру. С помощью команды zipsplit вы можете разделить zip-файлы на файлы меньшего размера, которые легче перенести. Чтобы разделить zip-файл на файлы меньшего размера, размером не более , синтаксис будет таким:

$ zipsplit -n zip_file

В  максимальный размер разделенных файлов.

Например, приведенная ниже команда разделит контрольная работа.застегивать на файлы меньшего размера размером не более 104857600 байт (104 МБ).

$ zipsplit -n 104857600 тест.застегивать

Вот результат выполнения вышеуказанной команды. В контрольная работа.застегивать файл разбит на три файла, которые последовательно называются test1.застегиватьtest2.застегивать, а также test3.застегивать, соответственно.

Если вы запустите ls вы увидите все три разделенных zip-файла вместе с исходным zip-файлом.

Добавляйте или просматривайте комментарии в zip-файле с zipnote

С помощью команды zipnote вы можете добавлять, просматривать и редактировать комментарии в вашем zip-файле. Для просмотра комментариев используйте следующую команду:

$ zipnote zip_file

Заменить застегивать файл с вашим фактическим именем zip-файла.

Если комментариев нет, вы увидите следующее представление по умолчанию:


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

$ zipnote zip_file> комментарии

Например, чтобы добавить комментарии к files1.застегивать, команда будет такой:

$ zipnote files1.zip> комментарии

Теперь отредактируйте Комментарии файл, используя следующую команду:

$ sudo nano комментарии

Для каждого файла добавьте свои комментарии над строками, в которых говорится @ (комментарий над этой строкой),затем сохраните и выйдите из файла. Мы добавили два комментария в файл комментариев, как показано на скриншоте ниже.


Теперь напишите комментарии к вашему zip-файлу с помощью следующей команды:

$ zipnote -w zip_file < comments

В нашем случае команда будет:

$ zipnote -w files1.застегивать < comments

Теперь вы можете проверить, были ли добавлены комментарии, выполнив следующую команду в Терминале:

$ zipnote zip_file

Просмотр справки

Чтобы просмотреть справку по команде zip, используйте следующую команду:

$ zip --help

Вы также можете посетить справочную страницу утилиты zip, используя следующую команду:

$ man zip

Команда распаковки в Linux

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

Параметры $ unzip zip_file

Разархивируйте отдельные zip-файлы

Чтобы распаковать один zip-файл, скажем, test.zip команда будет выглядеть так:

$ unzip test.застегивать

Он распакует файл в текущем каталоге.

Разархивируйте файл в другой каталог

Вы также можете распаковать файл в другой каталог, а не в текущий каталог, используя параметр -d следующим образом:

$ unzip zip_file -d / путь / к / каталогу

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

$ unzip test.zip -d Документы /

Распаковать несколько файлов

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

$ unzip '*.zip '

Эта команда распакует все zip-файлы, находящиеся в вашем текущем каталоге.

Подавить вывод при использовании распаковки

Подобно команде zip, вы также можете скрыть вывод команды unzip, используя -q вариант следующим образом:

$ unzip -q zip_file

Исключить файлы с помощью unzip

Если вы хотите распаковать zip-файл, но не хотите извлекать конкретный файл, используйте -Икс вариант ниже:

$ unzip zip_file -x имя_файла

Например, у нас есть застежка-молния filetest.застегивать содержащий три файла внутри него. Следующая команда распакует все файлы, кроме одного файла отчет.текст:

$ unzip test.zip -x отчет.текст

Распаковать zip-файлы, защищенные паролем

Чтобы распаковать защищенный паролем zip-файл без запроса, используйте -п вариант, за которым следует пароль для файла:

$ распаковать -P zip_file

Например, у нас есть zip-файл, контрольная работа.застегивать, который защищен паролем «банка”. Чтобы извлечь этот файл, используйте следующую команду:

$ unzip -P оловянный тест.застегивать

Перезапись zip-файлов

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


Чтобы перезаписать все существующие файлы без запроса, используйте -о вариант следующим образом:

$ unzip -o zip_file

Перечислить содержимое zip-архива

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

$ unzip -l zip_file

Пример:

$ unzip -l тест.застегивать

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

Просмотр подробной информации

Чтобы просмотреть подробную информацию без извлечения zip-файла, используйте параметр -v следующим образом:

$ unzip -v zip_file

Пример:

$ unzip -v тест.застегивать

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

Проверка на ошибки в архиве

С помощью опции -t в команде unzip вы можете проверить, является ли zip-файл действительным и не содержит ли ошибок.

$ unzip -t test1.застегивать

Пример:

$ unzip -t test1.застегивать

Приведенная выше команда проверяет наличие ошибок в test1.застегивать файл и отображает результаты. Следующий вывод показывает, что в сжатом файле нет ошибок.

Просмотр справки

Чтобы просмотреть справку по команде unzip, используйте следующую команду:

$ unzip --help

Вы также можете посетить справочную страницу утилиты unzip, используя следующую команду:

$ человек распаковать

Заключение

Это все, что вам нужно знать, чтобы освоить команды zip и unzip в Linux. В этой статье мы подробно обсудили использование команд zip и unzip в Linux, а также различные параметры командной строки и примеры.

Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...
Как использовать AutoKey для автоматизации игр под Linux
AutoKey - это утилита автоматизации рабочего стола для Linux и X11, запрограммированная на Python 3, GTK и Qt. Используя его функции сценариев и MACRO...
Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA ...