Как разархивировать zip в linux
Перейти к содержимому

Как разархивировать zip в linux

  • автор:

Как разархивировать файлы в Linux

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

В этом руководстве мы объясним, как разархивировать файлы в системах Linux через командную строку с помощью команды unzip .

Установка unzip

unzip не устанавливается по умолчанию в большинстве дистрибутивов Linux, но вы можете легко установить его с помощью диспетчера пакетов вашего дистрибутива.

Установите unzip на Ubuntu и Debian

sudo apt install unzip

Установите unzip на CentOS и Fedora

sudo yum install unzip

Как разархивировать ZIP-файл

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

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

unzip latest.zip

Файлы ZIP не поддерживают информацию о владельце в стиле Linux. Извлеченные файлы принадлежат пользователю , выполняющему команду.

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

Подавить вывод команды unzip

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

Используйте переключатель -q чтобы запретить печать этих сообщений.

unzip -q filename.zip

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

Чтобы распаковать ZIP-файл в каталог, отличный от текущего, используйте переключатель -d :

unzip filename.zip -d /path/to/directory

Например, чтобы распаковать архив WordPress latest.zip в latest.zip /var/www/ , вы должны использовать следующую команду:

sudo unzip latest.zip -d /var/www

В приведенной выше команде мы используем sudo потому что обычно пользователь, под которым мы вошли в систему, не имеет прав на запись в каталог /var/www . Когда файлы ZIP распаковываются с помощью sudo , извлеченные файлы и каталоги принадлежат пользователю root.

Разархивируйте ZIP-файл, защищенный паролем

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

unzip -P PasswOrd filename.zip

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

unzip filename.zip
archive: filename.zip [filename.zip] file.txt password: 

unzip будет использовать один и тот же пароль для всех зашифрованных файлов, если он правильный.

Исключить файлы при распаковке ZIP-файла

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

unzip filename.zip -x file1-to-exclude file2-to-exclude

В следующем примере мы извлекаем все файлы и каталоги из ZIP-архива, кроме каталога .git :

unzip filename.zip -x "*.git/*"

Перезаписать существующие файлы

Допустим, вы уже разархивировали ZIP-файл и снова запускаете ту же команду:

unzip latest.zip

По умолчанию unzip спросит вас, хотите ли вы перезаписать только текущий файл, перезаписать все файлы, пропустить извлечение текущего файла, пропустить извлечение всех файлов или переименовать текущий файл.

Archive: latest.zip replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename: 

Если вы хотите перезаписать существующие файлы без запроса, используйте параметр -o :

unzip -o filename.zip

Используйте эту опцию с осторожностью. Если вы внесли какие-либо изменения в файлы, они будут потеряны.

Разархивируйте ZIP-файл без перезаписи существующих файлов

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

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

unzip -n filename.zip

Разархивируйте несколько файлов ZIP

Вы можете использовать регулярные выражения для сопоставления нескольких архивов.

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

unzip '*.zip'

Обратите внимание на одинарные кавычки вокруг *.zip . Если вы забыли указать аргумент в кавычках, оболочка расширит подстановочный знак, и вы получите сообщение об ошибке.

Список содержимого Zip-файла

Чтобы просмотреть содержимое ZIP-файла, используйте параметр -l :

unzip -l filename.zip

В приведенном ниже примере мы перечисляем все установочные файлы WordPress:

unzip -l latest.zip

Результат будет выглядеть так:

Archive: latest.zip Length Date Time Name --------- ---------- ----- ---- 0 2018-08-02 22:39 wordpress/ 3065 2016-08-31 18:31 wordpress/xmlrpc.php 364 2015-12-19 12:20 wordpress/wp-blog-header.php 7415 2018-03-18 17:13 wordpress/readme.html . . 21323 2018-03-09 01:15 wordpress/wp-admin/themes.php 8353 2017-09-10 18:20 wordpress/wp-admin/options-reading.php 4620 2017-10-24 00:12 wordpress/wp-trackback.php 1889 2018-05-03 00:11 wordpress/wp-comments-post.php --------- ------- 27271400 1648 files 

Выводы

unzip — это утилита, которая помогает составлять списки, тестировать и извлекать сжатые архивы ZIP.

Чтобы создать ZIP-архив в системе Linux, вам необходимо использовать команду zip .

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Как распаковать (разархивировать) файл Tar Gz

Если вы путешествуете по миру открытого исходного кода, скорее всего, вы регулярно сталкиваетесь с файлами .tar.gz . Пакеты с открытым исходным кодом обычно доступны для загрузки в форматах .tar.gz и .zip.

Команда tar используется для создания архивов tar путем преобразования группы файлов в архив. Он поддерживает широкий спектр программ сжатия, таких как gzip, bzip2, lzip, lzma, lzop, xz и compress. Изначально Tar был разработан для создания архивов для хранения файлов на магнитной ленте, поэтому он получил название « T ape AR chive».

Gzip — самый популярный алгоритм сжатия файлов tar. По соглашению имя tar-архива, сжатого с помощью gzip, должно заканчиваться на .tar.gz или .tgz .

Короче говоря, файл с расширением .tar.gz представляет собой архив .tar, сжатый с помощью gzip.

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

В этом руководстве мы покажем вам, как распаковать (или распаковать) архивы tar.gz и tgz .

Извлечение файла tar.gz

В большинстве дистрибутивов Linux и macOS по умолчанию предустановлена команда tar .

Чтобы извлечь файл tar.gz, используйте параметр —extract ( -x ) и укажите имя файла архива после параметра f :

tar -xf archive.tar.gz

Команда tar автоматически определит тип сжатия и распакует архив. Эту же команду можно использовать для извлечения архивов tar, сжатых с помощью других алгоритмов, таких как .tar.bz2 .

Если вы пользователь рабочего стола и командная строка вам не подходит, вы можете использовать файловый менеджер. Чтобы распаковать (разархивировать) файл tar.gz, просто щелкните правой кнопкой мыши файл, который вы хотите извлечь, и выберите «Извлечь». Пользователям Windows потребуется инструмент под названием 7zip для извлечения файлов tar.gz.

Параметр -v сделает команду tar более видимой и напечатает имена файлов, извлекаемых на терминале.

tar -xvf archive.tar.gz

По умолчанию tar извлекает содержимое архива в текущий рабочий каталог . Используйте —directory ( -C ) для извлечения архивных файлов в определенный каталог:

Например, чтобы извлечь содержимое архива в /home/linuxize/files , вы можете использовать:

tar -xf archive.tar.gz -C /home/linuxize/files

Извлечение определенных файлов из файла tar.gz

Чтобы извлечь определенный файл (ы) из файла tar.gz, добавьте разделенный пробелами список имен файлов, которые нужно извлечь, после имени архива:

tar -xf archive.tar.gz file1 file2

При извлечении файлов вы должны —list их точные имена, включая путь, как напечатано с помощью —list ( -t ).

Извлечение одного или нескольких каталогов из архива аналогично извлечению файлов:

tar -xf archive.tar.gz dir1 dir2

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

tar -xf archive.tar.gz README
tar: README: Not found in archive tar: Exiting with failure status due to previous errors 

Вы также можете извлекать файлы из файла tar.gz на основе шаблона с подстановочными знаками, используя параметр —wildcards и цитируя шаблон, чтобы оболочка не интерпретировала его.

Например, чтобы извлечь файлы, имена которых заканчиваются на .js (файлы Javascript), вы должны использовать:

tar -xf archive.tar.gz --wildcards '*.js'

Извлечение файла tar.gz из stdin

Если вы распаковываете сжатый файл tar.gz, читая архив со стандартного ввода (обычно через канал), вам необходимо указать параметр распаковки. Параметр, который указывает tar читать архивы через gzip, — это -z .

В следующем примере мы загружаем исходники Blender с помощью команды wget и передаем его вывод в команду tar :

wget -c https://download.blender.org/source/blender-2.80.tar.gz -O - | sudo tar -xz

Если вы не укажете вариант декомпрессии, tar укажет, какой вариант вам следует использовать:

tar: Archive is compressed. Use -z option tar: Error is not recoverable: exiting now 

Вывод файла tar.gz

Чтобы —list список содержимого файла tar.gz, используйте параметр —list ( -t ):

tar -tf archive.tar.gz

Результат будет выглядеть примерно так:

file1file2file3

Если вы добавите параметр —verbose ( -v ), tar выведет дополнительную информацию, такую как владелец, размер файла, временная метка и т. Д.

tar -tvf archive.tar.gz
-rw-r--r-- linuxize/users 0 2019-02-15 01:19 file1-rw-r--r-- linuxize/users 0 2019-02-15 01:19 file2-rw-r--r-- linuxize/users 0 2019-02-15 01:19 file3

Выводы

Файл tar.gz представляет собой архив Tar, сжатый с помощью Gzip. Чтобы извлечь файл tar.gz, используйте команду tar -xf за которой следует имя архива.

Если у вас есть вопросы, оставьте комментарий ниже.

Как распаковать Zip файл в Linux

Как распаковать Zip файл в Linux

Zip — это один из самых распространенных и наиболее популярных способов создания сжатых архивных файлов. Это также один из самых старых форматов архивных файлов, он был создан в 1989 году. Поскольку он широко используется, вы будете регулярно сталкиваться с zip-файлами.

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

Важно: Проверьте, установлен ли у вас unzip.

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

В дистрибутивах на базе Ubuntu и Debian для установки unzip можно использовать приведенную ниже команду. Если пакет уже установлен, вы получите уведомление об этом.

sudo apt install unzip

После того как вы убедились, что в вашей системе есть поддержка unzip, пришло время распаковать zip-файл в Linux.

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

  • Распаковка файлов в терминале Linux
  • Распаковка файлов в Ubuntu с помощью графического интерфейса пользователя

Распаковка файла в терминале Linux

Использовать команду unzip в Linux очень просто. В каталоге, где находится zip-файл, используйте такую команду:

unzip zipped_file.zip

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

unzip metallic-container.zip -d my_zip Archive: metallic-container.zip inflating: my_zip/625993-PNZP34-678.jpg inflating: my_zip/License free.txt inflating: my_zip/License premium.txt

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

Распаковка в каталог

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

unzip zipped_file.zip -d unzipped_directory

Теперь все содержимое файла zipped_file.zip будет извлечено в каталог unzipped_directory.

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

Просмотр содержимого zip-файла без его распаковки

Вы можете проверить содержимое zip-файла, даже не извлекая его, с помощью опции -l.

unzip -l zipped_file.zip

Вот пример вывода:

unzip -l metallic-container.zip Archive: metallic-container.zip Length Date Time Name --------- ---------- ----- ---- 6576010 2019-03-07 10:30 625993-PNZP34-678.jpg 1462 2019-03-07 13:39 License free.txt 1116 2019-03-07 13:39 License premium.txt --------- ------- 6578588 3 files

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

Unzip files in Linux using GUI

Если вы используете настольный Linux, вам не всегда нужно обращаться к терминалу. Давайте посмотрим, как распаковывать файлы в Ubuntu Linux графически. Я использую рабочий стол GNOME в Ubuntu 18.04, но процесс практически такой же и в других настольных дистрибутивах Linux.

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

В отличие от команды unzip, опции «извлечь здесь» создают папку с тем же именем, что и заархивированный файл, и все содержимое заархивированных файлов извлекается в эту вновь созданную папку. Я рад, что это поведение по умолчанию, а не извлечение всего содержимого в текущий каталог.

Также есть опция «извлечь в», с помощью которой вы можете указать папку, в которую хотите извлечь файлы.

Вот и все. Теперь вы знаете, как разархивировать файлы в Linux. Если у вас есть вопросы или предложения, дайте мне знать в разделе комментариев.

Как распаковать 7z в Linux

Архивы 7z не так популярны, как Zip, но всё же пользуются спросом у пользователей. Для сжатия используется эффективный алгоритм LZMA2, на 10-40% превосходящий Deflate (Zip). В дистрибутивах Linux обычно отсутствует предустановленный архиватор для работы с 7z.

Мы рассмотрим несколько как выполняется распаковка 7z Linux. Помимо этого, приведём примеры использования консольной утилиты 7z.

Что такое 7z

TtB10oLUqrW9QAAAABJRU5ErkJggg==

Архивы формата 7z практически не используются разработчиками для распространения программ. Их выбирают обычные пользователи в виду того, что алгоритм LZMA2 обладает хорошей степенью сжатия и при этом не требует покупки архиватора, как тот же RAR.

К плюсам этого формата также можно отнести и то, что с ним работает большое количество архиваторов на всех операционных системах, хотя до универсальности Zip он не дотягивает.

Как распаковать 7z в графическом интерфейсе

AS0BbNfEHRUrAAAAAElFTkSuQmCC

Так как 7z использует метод сжатия LZMA2 (применяется в tar.xz), то нет ничего удивительного в том, что его поддерживает большинство архиваторов, доступных на Linux. Для распаковки нажмите кнопку Извлечь/Распаковать (Extract). Также вы можете перетащить файлы в папку или на рабочий стол, если эта функция доступна в вашей оболочке.

Список архиваторов, поддерживающих распаковку 7z:

  • File Roller (GNOME).
  • Engrampa (Mate).
  • Ark (KDE).
  • PeaZip.
  • Xarchiver.
  • p7Zip-GUI.

Как распаковать 7z в терминале

Для того, чтобы распаковать архив 7z в терминале, необходимо установить утилиту p7zip, которая также используется в архиваторах с графическим интерфейсом. Команда для установки в Debian/Ubuntu:

sudo apt install p7zip-full

Команда для установки в Red Hat/Fedora:

sudo yum install p7zip p7zip-plugins

Команда для установки в Archlinux/Manjaro:

sudo pacman -Sy p7zip

После этого вам станут доступны команды p7zip и 7z. Последняя содержит большее количество аргументов. Также стоит упомянуть о том, что у программ разный синтаксис, но общая библиотека. Для распаковки с помощью p7zip используйте команду:

p7zip -d имя_файла.7z

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

xn7wtdAMP5AAAAABJRU5ErkJggg==

Команда 7z позволяет не только распаковать, но и запаковать файлы, применив при этом множество параметров.

Вот основные аргументы команды 7z:

  • x — распаковать все файлы, с учётом вложенности.
  • e — распаковать все файлы, без учёта вложенности.
  • o — указать каталог для распаковки.
  • l — посмотреть содержимое архива.
  • r — обрабатывать каталоги при использовании фильтров.
  • i — показать информацию о поддерживаемых форматах и алгоритмах сжатия.

А теперь рассмотрим пару примеров использования этих команд. Эта команда просто распакует архив в текущую папку:

7z x имя_файла.7z

Распаковать только нужные файлы можно с помощью этих команд:

7z l имя_файла.7z -r *.db

7z e имя_файла.7z -r файл_1.db

В этом примере мы сначала нашли все файлы с расширением .db, а затем извлекли файл_1.db рядом с архивом с помощью команды e, которая распаковывает файлы без учёта вложенности. С помощью этой команды архив будет распакован в папку:

7z x имя_файла.7z -o имя_папки

Как видите, имя папки вводится без пробела. В этом примере папка будет создана рядом с архивом. Также вы можете задать другую папку, например, домашний каталог:

7z x имя_файла.7z -o /home/имя_пользователя/

Стоит отметить, что архиватор не понимает ~. Если вы решите использовать это сокращение, то будет создана папка с именем ~. Теперь вы знаете как разархивировать 7z linux.

Выводы

Для того чтобы распаковать 7z в Linux необходимо установить архиватор, поддерживающий этот формат. Среди графических одним из лучших будет PeaZip. Консольных архиваторов не так много и для работы с 7z следует использовать p7zip, который также содержит архиватор 7z.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *