Как распаковать tar архив в Linux

Чтобы распаковать tar архив в Linux нужно воспользоваться следующей командой:
tar -xvf archive.tar
- опция x — говорит что нужно извлечь архив
- опция v — выводит информацию о файлах в архиве в процессе выполнения
- опция f — говорит что мы хотим указать имя файла
- archive.tar — файл, который хотим распаковать
Еще есть возможность указать директорию назначения, т.е. куда нужно распаковать архив:
tar -xvf archive.tar -С /full/path
- опция -C (или —directory) указывает куда нужно распаковать
Также можно указать какие файлы необходимо извлечь из архива:
tar -xvf archive.tar file1 dir/file2
- file1 и dir/file — файлы, которые нужно распаковать
Создание и распаковка архивов в Linux
В случае с Linux VPS на базе OpenVZ и KVM для работы с архивами достаточно базовых компонентов системы, а именно Tar, Gzip и Bzip2, которые при создании сжатого архива работают как единое целое, т.к. сам по себе архиватор Tar не предусматривает возможность сжатия данных. Для этой цели как раз и используется Gzip или Bzip2. Архивы, созданные с применением Gzip, обычно имеют расширение .tar.gz, а при использовании Bzip2 – .tar.bz2.
Создание tar-архива без сжатия
Для создания такого архива используется команда:
tar -cf filename.tar file1 file2 fileN
Параметр –cf отвечает за создание архива filename.tar, в который войдут указанные файлы. Вместо файлов могут быть указаны и директории.
Создание архива с использованием сжатия
Поскольку для сжатия доступны как минимум два метода, для использования каждого из них используется отдельный набор параметров.
Пример сжатия Gzip:
tar -cvzf filename.tar.gz dir_name
В данном случае мы попытались запаковать папку dir_name в архив filename.tar.gz. Из указанных параметров -z указывает на использование метода Gzip, а -v выводит результаты процесса создания архива с указанием упакованных файлов или папок.
Пример сжатия Bzip2:
tar -cvjf filename.tar.bz2 dir_name
Данная команда аналогична предыдущей и имеет отличие в параметре –j, т.к. именно он отвечает за использование метода сжатия Bzip2.
Распаковка архива
Для того, чтобы распаковать архив, используется команда:
tar -xvf filename.tar.bz2
В данном случае архив filename.tar.bz2 будет распакован в ту папку, в которой вы находились в момент запуска команды. Для того, чтобы распаковать архив в какую-либо другую директорию, можно использовать команду:
tar -xvf filename.tar.bz2 -C /path/to/folder
В этом случае архив распакуется в указанной директории.
Просмотр содержимого архива без распаковки
Для этих целей используется следующая команда:
tar -tf filename.tar.gz
В результате выполнения команды выведется список файлов и папок, хранящихся в архиве. Если в перечень параметров добавить -v, то получится расширенный вывод информации о содержимом с указанием размера файлов, прав доступа, именами владельцев и их групп, и т.п.
Просмотреть полный список возможностей архиватора tar можно при помощи команд:
tar --help #вызов справки по командам и параметрам man tar #вызов расширенной документации
Создание и распаковка ZIP-архивов
Создание zip-архива выполняется командой:
zip archive.zip filename
Вместо archive.zip указываем имя создаваемого архива. Вместо filename указываем имя файла, который нужно архивировать. Для архивации целой папки необходимо использовать параметр –r, который инициирует рекурсивное архивирование. Без этого параметра будет заархивирована только папка без вложенных в неё файлов. Пример команды:
zip –r archive.zip dirname
Распаковка архива производится командой unzip:
unzip archivename.zip
Если необходимо распаковать в конкретную папку, то для этого используется параметр –d. Например:
unzip –d dirname archivename.zip
Вместо dirname указывается папка, в которую нужно извлечь данные из архива.
Просмотреть полный список возможностей архиватора zip и unzip можно при помощи команд:
zip --help или unzip --help #вызов справки по командам и параметрам man zip или man unzip #вызов расширенной документации
Распаковка RAR-архивов
Для извлечения содержимого архива используется команда unrar:
unrar filename.rar
Посмотреть список файлов в архиве без его распаковки можно командой:
unrar –t filename.rar
Примечание: Стоит отметить, что Unrar может отсутствовать по умолчанию в некоторых Linux-дистрибутивах. Установить данное ПО можно следующими командами:
CentOS/Fedora:
yum install unrar
Debian/Ubuntu:
apt-get install unrar-free
Просмотреть полный список возможностей архиватора unrar можно при помощи команд:
rar --help #вызов справки по командам и параметрам man unrar #вызов расширенной документации
Пример создания резервной копии данных на VPS
Допустим, на VPS необходимо сделать резервную копию файлов сайта, которые располагаются в директории /var/www/html/mysite. Чтобы создать сжатый архив данных, расположенных в указанной директории, необходимо выполнить следующую команду:
tar -cvzf mysite.tar.gz /var/www/html/mysite
В результате содержимое директории /var/www/html/mysite будет запаковано в архив mysite.tar.gz.
Если вы хотите перенести подобный архив с одного VPS на другой, но не знаете, как это сделать, то об этом вы можете узнать в статье Способы переноса файлов между серверами.
Работа с архивами в Linux
![]()
tar — наиболее популярный архиватор в Unix и Linux-системах. Во всех популярных дистрибутивах систем он установлен по умолчанию. Рассмотрим самые распространенные варианты работы с этой утилитой. Однако, при использовании сжатия формата bzip2, соответствующая утилита может быть не установлена на сервер, в зависимости от операционной системы установите ее командами: Centos
yum install bzip2
Debian/Ubuntu
apt update apt install bzip2
Основные команды
Создание архива tar с именем backup.tar, включающим файлы file01.sql, file02 и file03:
tar -cvf backup.tar file01.sql file02 file03
Просмотр содержимого архива backup.tar:
tar -tf backup.tar
Распаковка архива backup.tar:
tar -xvf backup.tar
Для того, чтобы распаковать архив в указанный нами каталог, нужно добавить опцию -C:
tar -xvf backup.tar -С /root/backup/
Работа со сжатыми архивами. tar только создаёт архив, но не сжимает. Для сжатия используются утилиты bzip2 и gzip. Файлы, сжатые с их помощью, имеют расширения .tar.bz2 и .tar.gz2. Для создания архива с использованием сжатия bzip2 выполним команду:
tar -cjvf backup.tar.bz2 file01.sql file02 file03
Для создания gzip архива нужно изменить один параметр:
tar -czvf backup.tar.gz file01.sql file02 file03
Распаковка tar.bz2 архива:
tar -xjvf backup.tar.bz2 -C /root/backup/
Распаковать tar.gz архив можно командой:
tar -xzvf backup.tar.gz
- Часто бывает, что необходимо сохранить архив на удалённом сервере, т.к места на текущем попросту нет. В этом нам также поможет архиватор tar:
tar zcvf - /var/www/html | ssh root@IP "cat > /var/www/backup.tar.gz"
tar -xvf backup.tar file01.sql file02
Соответственно для .tar.gz команда будет выглядеть так:
tar -zxvf backup.tar.gz file01.sql file02
Для .tar.bz2:
tar -jxvf backup.tar.bz2 file01.sql file02
Работа с архивами RAR
Для работы с RAR-архивами используем утилиты rar для создания архивов и unrar для распаковки. Установить архиватор можно средствами стандартного пакетного менеджера вашей операционной системы, однако, для установки последней актуальной версии воспользуемся другим способом.
Скачиваем с официального сайта архив с бинарными файлами и извлекаем из него файлы rar и unrar, далее копируем их, например, в /usr/bin/, либо производим установку:
wget https://www.rarlab.com/rar/rarlinux-x64-612.tar.gz tar xzf rarlinux-x64-612.tar.gz cd rar make install
Команда make install выполнит следующие действия согласно содержимому файла makefile:
mkdir -p /usr/local/bin mkdir -p /usr/local/lib cp rar unrar /usr/local/bin cp rarfiles.lst /etc cp default.sfx /usr/local/lib
Основные команды
Создание архива файлов file01.sql file02 file03:
rar a archive.rar file01.sql file02 file03
Создать архив директории dir01 рекурсивно:
rar -r a archive.rar dir01
Добавить файлы в архив можно с помощью ключа u, а удалить из архива ключом d:
rar u archive.rar file02 rar d archive.rar file02
Также можно указать степень сжатия архива, параметр сжатия принимает значения от 0 до 5, при этом 0 это без использования сжатия, по умолчанию используется степень 3.
rar a -m5 archive.rar file02
Для распаковки архива также можно использовать rar с опцией x:
rar x archive.rar
Для распаковки RAR-архивов используется утилита unrar. Распаковать архив:
unrar x archive.rar
Распаковать архив в определенную директорию:
unrar x archive.rar ./dir
Проверить, что архив целый:
unrar t archive.rar
Просмотреть список файлов в архиве:
unrar l archive.rar
Команда Unzip в Linux, или Как Распаковать Архив
Архивирование и распаковка файлов упрощает множество задач, но главная из них — передача файлов! В этом руководстве вы узнаете, как использовать команду unzip в Linux для оптимизации процесса работы с вашим VPS!
Zip — это часто используемая функция сжатия. Она портативна и проста в использовании. Вы даже можете распаковать в Windows файлы, созданные в Linux!
Утилита Unzip по умолчанию недоступна в большинстве дистрибутивов Linux, но её легко установить. С .zip можно добиться уровня сжатия, аналогичного .tar.gz.
Ниже приведены несколько сценариев, в которых вы можете использовать zip-файлы:
- Когда вы работаете с системами на базе Windows и Unix и часто переключаетесь между ними. Архиватор не только сжимает файлы, но также является служебной программой для создания пакетов файлов. Работает на нескольких операционных системах;
- Чтобы сэкономить трафик. Если у вас ограниченная пропускная способность, zip может использоваться для передачи файлов между двумя серверами;
- Для быстрого переноса файлов. Утилита Zip уменьшает размер файла, что сокращает время его переноса;
- Более быстрая загрузка и скачивание директорий;
- Экономия места на диске;
- Распаковка защищённых паролем архивов .zip
- Когда нужна хорошая степень сжатия
Помните, для того, чтобы использовать unzip в Linux, сначала вам необходимо подключиться к серверу VPS по SSH.
Установка unzip в Debian и Ubuntu
Установить unzip очень просто! В Ubuntu и Debian используйте команду:
sudo apt install unzip
Затем устройтесь поудобнее и немного подождите, пока установка не будет завершена.
Чтобы создавать zip-файлы, вам также необходимо установить zip. Вы можете сделать это с помощью следующей команды:
sudo apt-get install zip
Установите Unzip в Linux — CentOS и Fedora
Здесь всё тоже очень просто, используйте следующую команду:
sudo yum install unzip
По завершению установки можете проверить путь с помощью следующей команды:
which unzip
Выполнив указание в командной строке, вы должны получить следующий результат:
/usr/bin/unzip
Вы также можете убедиться, что всё установлено правильно, используя команду ниже. Она выведет подробный отчёт об утилите unzip.
unzip -v
Как использовать Zip и Unzip в Linux
Теперь, когда мы знаем, как установить утилиту, можем приступить к её основных способам использования:
Создание zip-файлов в Linux
Базовый синтаксис для создания файла .zip:
zip опции zip-файл список_файлов
В качестве примера мы заархивируем два файла — ExampleFile.txt и ExampleFile1.txt. Упакуем мы их в архив sampleZipFile.zip с помощью следующей команды:
zip sampleZipFile.zip ExampleFile.txt ExampleFile1.txt
Распаковка файлов в Linux
Команду unzip можно использовать без каких-либо опций. В чистом виде она просто распакует все файлы в текущий каталог. Один из таких примеров показан ниже:
unzip sampleZipFile.zip
По умолчанию архив будет распакован в текущую папку, если у вас есть доступ на чтение и запись файлов.
Удаление файла из архива .zip
Вы можете удалять файлы в созданном вами архиве .zip. Например, если вы хотите удалить ExampleFile.txt из существующего sampleZipFile.zip, вы можете использовать следующую команду:
zip –d sampleZipFile.zip ExampleFile.txt
После выполнения этой команды вы можете распаковать файл .zip, используя:
unzip sampleZipFile.zip
При этом вы обнаружите, что файл ExampleFile.txt был удалён и больше не отображается при извлечении.
Как добавить файлы в существующий Zip-архив
Вы можете добавить новый файл к уже существующему архиву .zip. Допустим вам необходимо добавить новый файл ExampleFile2.txt в уже существующий файл sampleZipFile.zip. Вы можете сделать это с помощью команды:
zip –u sampleZipFile.zip ExampleFile2.txt
Теперь, если вы распакуете архив sampleZipFile.zip, то обнаружите среди файлов новый ExampleFile2.txt.
Перемещаем файл в ZIP-архив
Вы можете легко переместить выбранные файлы в zip-архив. Это означает, что после добавления файлов в архив они будут удалены из исходных каталогов. Эта опция используется в основном в тех случаях, когда у вас большой файл или каталог, но вам нужно сохранить дисковое пространство. Чтобы реализовать команду, добавим к ней параметр -m. Вот пример:
zip –m sampleZipFile.zip ExampleFile2.txt
Рекурсивное использование Zip в Linux
Параметр -r используется для рекурсивного архивирования файлов. Эта опция сжимает все файлы, находящиеся в папке. Пример такой команды показан ниже:
zip –r sampleZipFile.zip MyDirectory
В этом примере MyDirectory — это каталог, содержащий несколько файлов и подкаталогов для архивирования.
Исключить файлы из ZIP-архива
При создании архива .zip вы можете исключить ненужные файлы. Это делается с помощью опции -x. Ниже приведён пример:
zip -x sampleZipFile.zip ExampleFile.txt
В этом примере ExampleFile.txt не будет добавлен в архив sampleZipFile.zip вместе с остальными.
Распаковать в другой каталог
Если вы не хотите распаковывать файлы в текущий каталог, а указать определённое местоположение, используйте параметр -d. Это позволит вам указать путь к каталогу, куда вы хотите распаковать архив. Пример такой команды показан ниже:
unzip sampleZipFile.zip -d /usr/sampleZip/ExampleDir
Распаковка нескольких ZIP-архивов
Если вы хотите распаковать несколько zip-файлов в текущий рабочий каталог, используйте команду:
unzip ‘*.zip’
Эта команда распакует все отдельные zip-файлы.
Свернуть вывод при распаковке архива в Linux
По умолчанию, когда мы используем команду unzip, она выводит список всех извлекаемых файлов — распечатывает краткое описание процесса экстракции. Если вы не хотите видеть эти сообщения, можете использовать опцию -q. Вот пример команды:
unzip -q sampleZipFile.zip
Исключение файлов с помощью Unzip в Linux
Если вы хотите извлечь все файлы, кроме одного, можете использовать показанную ниже команду:
unzip sampleZipFile.zip -x excludedFile.txt
В этом примере команда распакует все файлы, кроме excludedFile.txt.
Также вы можете запретить извлечение определённых типов файлов. Один из таких примеров показан ниже:
unzip sampleZipFile.zip -x "*.png/*"
Вышеупомянутая команда исключит из извлечения все файлы .png.
Использование Unzip в Linux с архивами, защищёнными паролем
Защищённый паролем архив .zip можно распаковать с помощью параметра -P. Пример такой команды показан ниже:
unzip -P Пароль sampleZipFile.zip
В приведённой выше команде слово «Пароль» нужно заменить паролем от файла .zip.
Замена Zip-файлов
При попытке распаковать один и тот же файл в том же месте, где он был запакован, система спросит, что вы хотите сделать дальше: перезаписать текущий файл, перезаписать все файлы, пропустить извлечение для текущего файла, пропустить извлечение для всех файлов или переименовать текущий файл.
Варианты будут выглядеть следующим образом:
[y]es, [n]o, [A]ll, [N]one, [r]ename
Вы можете перезаписать все файлы без подтверждения этого действия, используя параметр -o. Один из таких примеров показан ниже:
unzip -o sampleZipFile.zip
Но будьте осторожны, выполнении этой команды полностью перезапишет существующие копии. Любые изменения, внесённые в предыдущую копию, будут перезаписаны.
Использование Linux Unzip без перезаписи файлов
Если вы распаковали архив и внесли некоторые изменения, но случайно удалили несколько файлов, вы можете использовать эту опцию для их восстановления! Используйте параметр -n, чтобы пропустить извлечение, если файл уже существует. Таким образом, будут распакованы только удалённые ранее файлы. Пример такой команды:
unzip -n sampleZipFile.zip
Как вывести список содержимого ZIP-архива в Linux
Опция -l перечислит все файлы в .zip вместе с временем и другой важной информацией о файлах. Пример такой команды:
unzip -l sampleZipFile.zip
Итоги
Вот и всё, вы познакомились со всеми основными функциями утилит для архивирования zip и unzip в Linux. Начните организовывать свои файлы прямо сейчас!
Ольга вже близько восьми років працює менеджером у сфері IT, три з яких вона займається SEO. Написання технічних завдань та інструкцій — один з її основних обов’язків. Її хобі — дізнаватися щось нове і створювати цікаві та корисні статті про сучасні технології, веброзробку, мови програмування, пошукову оптимізацію сайтів та багато іншого.