Linux команда tar — архив, который используется большим количеством системных администраторов Linux/Unix для работы с накопителями для резервного копирования. Команды tar используются для копирования файлов и каталогов в файл сжатого архива, обычно называемый tarball или tar, gzip и bzip
Оглавление
Что такое команда Tar?
Команда tar используется для создания архивов tar, путем преобразования группы файлов в архив. Она также имеет возможность извлекать архивы tar, отображать список файлов, включенных в архив, добавлять дополнительные файлы в существующий архив, а также различные другие виды операций.
Tar поддерживает широкий спектр программ сжатия , таких как gzip, bzip2, lzip, lzma, lzop, xzи compress. При создании сжатых tar-архивов принято считать добавление суффикса компрессора к имени файла архива. Например, если архив был сжат с помощью gzip, он должен быть назван archive.tar.gz.
Tar был первоначально разработан для создания архивов при хранения файлов на магнитной ленте, поэтому он имеет свое название « T ape AR chive».
Существуют две версии tar, BSD tar и GNU tar с некоторыми функциональными отличиями. Большинство систем Linux поставляются с предустановленной GNU tar по умолчанию. Если у вас не установлен tar, рекомендуем сначало установить его следую нашей статьи как установить tar.gz в CentOS.
Что такое файлы TAR?
Аббревиатура tar предназначена для иллюстрации того, что отдельные файлы GZIP были сжаты настолько широко и максимально плотно, насколько это возможно. Упакованный файл может заканчиваться на .tar.gz и .tar.bz2. Иногда используется двойное окончание – .tar.gz. ZIP, который был разработан для слияния и сжатия, но оказался более мощным и поэтому в значительной степени подавляет файл .tar.
Как можно догадаться по двойному расширению формата, состоящему из двух файлов, это фактически два в одном. TAR объединяет несколько объектов данных в один пакет под систему Windows. Это полезно, если, например, необходимо отправить несколько документов, изображений или предложить их для загрузки.
Расширения в формате .tar в основном предназначены для операционной системы Linux. В мире Windows они довольно необычны и редко встречаются. По этой причине система не может открыть эти файлы без дополнительного программного обеспечения.
Что такое tar.gz?
Tar.gz – это архив созданный программой Tar, и после этого заархивированный программой Gzip. Такая двойная архивация обусловлена тем, что программа Gzip сжимает хорошо и быстро, но делает это только с одним файлом. Поэтому чтобы запаковать несколько файлов, для начала из них создается один tar-архив, а после этого он уже пакуется программой Gzip. Причем стоит отметить, что первичный архив tar практически не сжимает информацию, а лишь объединяет ее в один файл. В конечном варианте мы получаем архив с двойным расширением filename.tar.gz или filename.tgz
Где используют эти архивы tar.gz?
Как правило их используют для создания резервной копии сайта на хостинге под управлением UnixLinux.
Программы, которые поддерживают TAR расширение файла
В следующем списке перечислены программы, совместимые с файлами TAR, которые разделены на категории 3 в зависимости от операционной системы, в которой они доступны. TAR файлы можно встретить на всех системных платформах, включая мобильные, но нет гарантии, что каждый из них будет должным образом поддерживать такие файлы.
Синтаксис и опции команды tar
У утилиты tar следующий синтаксис:
tar [опции] название_архива файлы_для_архива
Например, с помощью команды:
$ tar -cf etc.tar /etc
можно сделать копию каталога /etc в архив etc.tar. Приведённый пример демонстрирует распространённый случай резервного копирования с помощью команды tar. Здесь опция -c означает создание (create) архива, -f – вывод результатов в файл. Во второй части команды, которая принимает на свой вход выходной поток от tar -cf опция -x (extract) указывает tar, что нужно извлекать содержимое архива, -p – сохранять информацию о режимах доступа к файлам. Есть ещё опция -b, позволяющая задавать коэффициент объединения блоков, который полезен при записи на ленточные устройства. Это в некоторых случаях позволяет добиться большей производительности. Оптимальным считается значение 20, однако, поэкспериментировав, можно найти и лучший вариант для конкретных условий. Опция -v позволяет выводить подробную информацию о ходе работы команды.
Синтаксис для распаковки:
tar [опции] архив
Например команда
$ tar xfv archive.tar
Распакует archive.tar в текущую директорию, что бы задать директорию куда нужно распаковать архив используйте ключ -с. Например
$ tar xfv archive.tar -с /var
Ниже представлен основной список ключей команды tar
-A, —catenate, —concatenate присоединение tar-файловк архиву
-c, —create создание нового архива
-d, —diff, —compare поиск различий между архивом и файловой системой
—delete удаление из архива (не на магнитных лентах!)
-r, —append добавление файлов в конец архива
-t, —list вывод списка содержимого архива
—test-label проверка метки тома архива и выход
-u, —update добавление в архив только более новых файлов
-x, —extract, —get извлечение файлов из архива
Обратите внимание, что при запуске команды, перед ключами не обязательно ставить знак дефиса
Примеры
Все примеры можно разделить на три группы: создание; просмотр; распаковка.
Рекомендуется тщательно изучить примеры использования команды для ОС Линукс. Они позволят быстро справиться с поставленной задачей.
Описание ключей tar
Команды для действия
КлючОписание
-A | Добавление файлов в архив. |
-c | Создание нового архивного файла. |
-d | Показать отличающиеся данные между каталогом-исходником и содержимым архива. |
–delete | Удалить файлы внутри архива. |
-r | Добавить файлы в конец архива. |
-t | Показать содержимое архива. |
-u | Добавить файлы, которых нет в архиве. |
-x | Извлечь файлы из архива. |
* нельзя использовать несколько вышеперечисленных ключей в одной команде.
Дополнительные опции
КлючОписание
–atime-preserve | Оставить прежнюю метку времени доступа для файла. |
-b N | Задать размер блока N x 512. |
-C | Смена каталога. По умолчанию, используется тот, в котором мы находимся. |
–checkpoint | Показать имена папок при чтении архивного файла. |
-G | Использование старого формата инкрементального резервирования при отображении или извлечения. |
-g | Использование нового формата инкрементального резервирования при отображении или извлечения. |
-h | Не дублировать символьные ссылки. Только файлы, на которые указывают эти симлинки. |
-i | Игнорировать блоки нулей. |
-j | Использование bzip2. |
–ignore-failed-read | Игнорировать не читаемые файлы. |
-k | При распаковке, существующие файлы не заменяются соответствующими файлами из архива. |
-L N | Смена магнитной ленты после N*1024 байт. |
-m | При извлечении игнорировать время модификации объекта. |
-M | Многотомные архивы. |
-N DATE | Сохранять только более новые файлы относительно DATE |
-O | Направление извлекаемого на стандартный вывод. |
-p | Извлечение защищенной информации. |
-P | Не отбрасывает начальный слэш (/) из имен. |
-s | Сортировка файлов при извлечении. |
–preserve | Аналогично -ps |
–remove-files | Удалить исходные файлы после добавления в архив. |
–same-owner | Сохранить владельца при извлечении. |
–totals | Вывод байт при создании архива. |
-v | Протоколирование действий — отображение списка объектов, над которыми происходит действие. |
-V NAME | Создание архива на томе с меткой NAME. |
–version | Показать версию tar. |
-w | Требовать подтверждения для каждого действия. |
-W | Проверка архива после записи. |
–exclude FILE | Исключить файл FILE. |
-X FILE | Исключить файлы FILE. |
-Z | Фильтрует архив с помощью compress. |
-z | Использование gzip. |
* актуальный список опций можно получить командой man tar.
Как использовать Tar в Linux
Давайте узнаем, какие основные операции вы можете выполнять с помощью tar. Но прежде чем мы начнём, вам нужно будет подключиться к вашему VPS-серверу по SSH. Вот руководство, которое вам поможет.
Работа с архивами при помощи утилиты TAR
Стандартная утилита для создания архивов в linux – “tar”. Синтаксис команды такой:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar опции имя_файла_архива файл_для_архивации
1 | tar опции имя_файла_архива файл_для_архивации |
Основные опции:
- c – создание нового архива
- f – имя файла для архива
- r – добавление файлов в конец архива
- x – извлечение файлов из архива
- t – вывод списка содержимого архива
- v – вывод сведений о работе программы
- -C – распаковать в указанную папку
Например. У меня есть папка “Test” и я хочу создать архив tar. Для этого нужно дать команду:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar cf Test.tar Test
1 | tar cf Test.tar Test |
Для того, что бы увидеть работу программы можно использовать опцию “v”. Будет выведено какие файлы и папки добавлены в архив. Например:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar cvf Test.tar Test
1 | tar cvf Test.tar Test |
Теперь давайте рассмотрим как добавить файл или папку в уже созданный архив. Для этого нужно использовать опцию “r”. Пример. Добавить файл “file.txt” в архив “Test.tar”. Используем команду:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar rf Test.tar file.txt
1 | tar rf Test.tar file.txt |
Что бы просмотреть содержимое архива tar используйте команду:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar -tf Test.tar
1 | tar -tf Test.tar |
Будет отображено содержимое архива “Test”. Теперь давайте рассмотрим как распаковать архив tar. Для этого дайте команду:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar xf Test.tar
1 | tar xf Test.tar |
Архив будет распакован в текущую папку. Как быть если нужно распаковать не весь архив а извлечь только нужный файл. Допустим я хочу извлечь файл “file.txt”. Для этого нужно дать команду:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar xf Test.tar Test/file.txt
1 | tar xf Test.tar Test/file.txt |
Для того, чтобы извлечь архив в другой каталог используйте атрибут “-C”. Например требуется распаковать архив в папку “Driver” находящуюся в директории “Zhelezo”. Выполню команду:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar xf Test.tar -C Zhelezo/Driver/
1 | tar xf Test.tar -C Zhelezo/Driver/ |
Думаю с архивированием и разархивированием файлов и папок в линукс без сжатия все понятно.
Как установить, создать архив Tar и распаковать его в Windows
Чтобы использовать Tar в Windows, нужно воспользоваться одним из следующих вариантов:
- Установить Far Manager.
Инструкция по созданию и распаковке архива .tar с помощью Far Manager:- Теперь просто выделяете ПКМ (правой кнопкой мыши) или кнопкой клавиатуры Insert нужные вам файлы и папки и жмёте Shift + F1, затем выбираете нужный формат (в нашем случае, TAR) и создаёте архив:
При желании, в поле Добавить к архиву можно изменить название архива, а в поле Ключи можно ввести пароль от него.
- Чтобы распаковать архив Tar, просто выделяете ПКМ или Insert нужный архив и жмёте Shift + F2
В поле Распаковать в вводится путь, куда распаковать архив. Если нужно распаковать в текущую папку, нужно оставить поле Распаковать архив пустым. Если архив запаролен, пароль вводится в поле Пароль.
- Теперь просто выделяете ПКМ (правой кнопкой мыши) или кнопкой клавиатуры Insert нужные вам файлы и папки и жмёте Shift + F1, затем выбираете нужный формат (в нашем случае, TAR) и создаёте архив:
- Также, можно обойтись без Far Manager, установив 7-Zip
Как открыть файл TAR?
Отсутствие возможности открывать файлы с расширением TAR может иметь различное происхождение. С другой стороны, наиболее часто встречающиеся проблемы, связанные с файлами Consolidated Unix Format Archive, не являются сложными. В большинстве случаев они могут быть решены быстро и эффективно без помощи специалиста. Мы подготовили список, который поможет вам решить ваши проблемы с файлами TAR.
Шаг 1. Получить WinZip
Основная и наиболее частая причина, препятствующая открытию пользователями файлов TAR, заключается в том, что в системе пользователя не установлена программа, которая может обрабатывать файлы TAR. Эта проблема может быть решена путем загрузки и установки # РЕКОМЕНДОВАННОЙ # или другой совместимой программы, такой как ALZip, WinAce, PeaZip. Выше вы найдете полный список программ, которые поддерживают TAR файлы, классифицированные в соответствии с системными платформами, для которых они доступны. Если вы хотите загрузить установщик WinZip наиболее безопасным способом, мы рекомендуем вам посетить сайт WinZip Computing, S.L. и загрузить его из официальных репозиториев.
Шаг 2. Проверьте версию WinZip и обновите при необходимости
Вы по-прежнему не можете получить доступ к файлам TAR, хотя WinZip установлен в вашей системе? Убедитесь, что программное обеспечение обновлено. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Если у вас установлена более старая версия WinZip, она может не поддерживать формат TAR. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью WinZip.
Шаг 3. Свяжите файлы Consolidated Unix Format Archive с WinZip
Если у вас установлена последняя версия WinZip и проблема сохраняется, выберите ее в качестве программы по умолчанию, которая будет использоваться для управления TAR на вашем устройстве. Метод довольно прост и мало меняется в разных операционных системах.
Выбор приложения первого выбора в Windows
- Выберите пункт Открыть с помощью в меню «Файл», к которому можно щелкнуть правой кнопкой мыши файл TAR.
- Нажмите Выбрать другое приложение и затем выберите опцию Еще приложения
- Последний шаг – выбрать опцию Найти другое приложение на этом… указать путь к папке, в которой установлен WinZip. Теперь осталось только подтвердить свой выбор, выбрав Всегда использовать это приложение для открытия TAR файлы и нажав ОК .
Выбор приложения первого выбора в Mac OS
- Нажав правую кнопку мыши на выбранном файле TAR, откройте меню файла и выберите Информация.
- Перейдите к разделу Открыть с помощью . Если он закрыт, щелкните заголовок, чтобы получить доступ к доступным параметрам.
- Выберите WinZip и нажмите Изменить для всех …
- Если вы выполнили предыдущие шаги, должно появиться сообщение: Это изменение будет применено ко всем файлам с расширением TAR. Затем нажмите кнопку Вперед», чтобы завершить процесс.
Шаг 4. Убедитесь, что файл TAR заполнен и не содержит ошибок
Если проблема по-прежнему возникает после выполнения шагов 1-3, проверьте, является ли файл TAR действительным. Отсутствие доступа к файлу может быть связано с различными проблемами.
Просмотр архивов
Откроем newarhiv.tar для просмотра. Для этого, необходимо использовать аргумент “-t”.
tar -tvf /root/catalog/newarhiv.tar
Просмотр tar.gz
Откроем oldfile.tar.gz для просмотра. Синтаксис команды тот же, что и при открытии простого “.tar”.
tar -tvf oldfile.tar.gz
Просмотр bz2
Откроем документ oldfile.tar.bz2.
tar -tvf oldfile.tar.bz2
Подготовка файлов программы
Для начала нужно снова оказаться в одной папке с распакованными файлами. Для этого используется команда cd с указанием необходимого каталога – hello-2.10. Теперь в самой папке нужно выполнить команду ./configure –help. Она выдаст подсказки по тому, как именно необходимо устанавливать программу. В большинстве случаев достаточно простого введения ./configure. Однако у пользователя может не хватить прав доступа для установки в каталог по умолчанию, которым является /usr/local. Поэтому нужно указать, что приложение должно установиться в домашнюю папку системы. Общая команда выглядит в итоге так:
./configure –prefix=$HOME
В результате её выполнения система проверит все зависимости и выдаст в конце несколько строк об успешном создании файлов.
Как запаковать архив tar.gz и tar.bz2 в Ubuntu, Debian, CentOS
tar cfvz archive.tar.gz *.php
где tar — команда, cfvz — ключи, archive.tar.gz — имя будущего архива, *.php — список файлов, которые нужно заархивировать.
Список можно заменить директорией, которую нужно запаковать целиком, для этого указываем путь до неё, абсолютный или относительный
tar cfvz archive.tar.gz /forpack
Теперь подробнее про ключи
- -с — команда, которая означает «создать архив»
- -f — команда на упаковку файлов и директорий в один файл архива
- -v — включает визуальное отображение процесса архивации
- -z — использовать для сжатия GZip
Также, можно использовать для сжатия BZip2. Для этого нужно использовать ключ -j вместо -z.
В этом случае, команда для запаковки tar.bz2 будет выглядеть так
tar cfvj archive.tar.bz2 /forpack
Вместо GZip и BZip2 можно пользоваться иными архиваторами, для этого просто нужно подобрать соответствующий ключ.
Чтобы исключить определённый каталог или файл из архива, можно воспользоваться ключом –exclude.
Сначала переходим в нужный каталог, затем используем следующую команду:
tar cfvz wp-content.tgz wp-content –exclude=wp-content/updraft –exclude=wp-content/uploads –exclude=wp-content/cache
Тут мы запаковываем каталог /wp-content/ на WordPress, исключая раздел Updraftwp-content/updraft, раздел Загрузкиwp-content/uploads и Кешwp-content/cache.
Важный момент — чтобы исключить ошибки, не указывайте слеш / в конце пути исключаемого каталога.
Творение tar-архива без сжатия в Linux
Для создания такого архива используется команда:
tar -cf filename.tar file1 file2 fileN
Метеопараметр —cf отвечает за создание архива filename.tar, в который войдут указанные файлы. Вместо файлов смогут быть указаны и директории.
Создание архива с использованием сжатия в Linux
Поскольку для стягивания доступны как минимум два метода, для использования каждого из них используется отдельный набор параметров.
Образчик сжатия Gzip:
tar -cvzf filename.tar.gz dir_name
В данном случае мы попытались запаковать папку dir_name в картотека filename.tar.gz. Из указанных параметров -z указывает на использование метода Gzip, а -v выводит результаты процесса творения архива с указанием упакованных файлов или папок.
Распаковка tar.xz файл в Linux
Извлечь файл tar xz довольно просто. Вам просто нужно убедиться, что в вашем дистрибутиве Linux есть поддержка утилиты сжатия xz.
Инструмент сжатия XZ доступен через пакет XZ-utils в большинстве дистрибутивов Linux. В большинстве случаев вы уже будете иметь утилиту XZ установленную по умолчанию.
Но вы все равно должны убедиться, что он установлен в вашей системе. Вы можете использовать менеджер пакетов вашего дистрибутива Linux для его установки.
В Debian или Ubuntu вы можете установить xz-utils с помощью следующей команды:
sudo apt install xz-utils
Если у вас есть поддержка сжатия xz в вашем дистрибутиве Linux, вы можете извлечь файл tar.xz с помощью стандартной команды tar:
tar -xf file.tar.xz
Здесь:
- -x означает извлечь архивный файл
- -f означает следующее имя архивного файла
Зачем вам нужно было указать х (извлечение) здесь? Потому что tar также может быть использован для создания (сжатия) файлов.
Поэтому вам нужно указать, какую операцию вы выполняете с помощью команды tar, сжатия (c) или извлечения (x).
Мы надеемся, что это краткое руководство помогло вам извлечь файл tar xz, и вы немного лучше стали разбираться в файлах tar и xz.
Распаковать в определенную папку
tar -C /home/user -xvf archive.tar.gz
* ключ -C используется для указания папки, куда необходимо распаковать файлы из архива.
Распаковка без вложенной папки
Такой способ можно использовать для распаковки в заранее подготовленный каталог. Будет некий эффект переименовывания каталога или аналог «Распаковать здесь»:
tar -C /home/admin/mytar -xvf admin.tar.gz –strip-components 1
* каталог /home/admin/mytar заранее должен быть создан; –strip-components 1 пропустит одну вложенную папку внутри архива.
Распаковка архива tar.xz
Для примера распакуем созданный ранее архив папки Test. Для этого нужно дать команду:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar xf Test.tar.xz
1 | tar xf Test.tar.xz |
- x – извлечь файлы
- f – имя файла архива
На этом с архивами формата xz разобрались.
Распаковка zip-архива в Linux
Что бы распаковать архив zip используйте команду
Читайте также: Flameshot программа для создания скриншотов в Linuxunzip. Например, что бы распаковать архив с именем “archive.zip” дайте команду:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> unzip archive.zip
1 | unzip archive.zip |
Файлы будут распакованы в текущую директорию. Если требуется распаковать в другую папку то нужно использовать параметр -d . Например. Нужно распаковать архив “archive.zip” в папку с названием “1” находящуюся в папке “Документы”. Для этого даем команду:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> unzip -d ~/Документы/1 archive.zip
1 | unzip -d ~/Документы/1 archive.zip |
Для распаковки зашифрованных архивов на которые был установлен пароль будет выдан запрос на ввод пароля а затем нужно подтвердить указав английскую букву “y”.
Распаковка RAR в Linux
Для распаковки “RAR” архивов в Linux используется утилиты unrar-free свободное программное обеспечение и unrar . По умолчанию онb не устанавливаются. Для инсталляции используйте команду:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> sudo apt install unrar-free
1 | sudo apt install unrar-free |
Либо установите несвободную утилиту командой:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> sudo apt install unrar
1 | sudo apt install unrar |
Программа unrar-free не всегда может распаковать некоторые архивы RAR 3.0. Для распаковки таких архивов потребуется unrar. Но, чтобы установить несвободные программы у вас должен быть подключен репозиторий non-free. В этой статье я рассказал как подключать репозитории.
Рассмотрим как работать с утилитой unrar-free.
Для просмотра файлов в архиве используется ключ -t. Например:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> unrar –t archive.rar
1 | unrar –t archive.rar |
Для извлечения файлов из архива rar используйте команду unrar с ключом -x . Например, что бы распаковать архив “archive.rar” используйте команду:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> unrar -x archive.rar
1 | unrar -x archive.rar |
Рассмотри работу с утилитой unrar:
Основные опции:
- e – извлечь файлы в текущий каталог;
- l – cписок содержимого архива;
- p – вывести файл на стандартный вывод;
- t – протестировать архив;
- v – вывести информация об архиве;
- x – извлечь файлы с полным путем
Пример. Извлечем каталог archive.rar, для этого выполним команду:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> unrar e archive.rar
1 | unrar e archive.rar |
файлы будут распакованы в ту папку в которой находитесь.
Более полную информацию по работе программ всегда можно получить указав в терминале:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> имя программы –help
Работа со сжатыми архивами
Следует помнить, что tar только создаёт архив, но не сжимает. Для этого используются упомянутые компрессорные утилиты bzip2 и gzip. Файлы, сжатые с их помощью, имеют соответствующие расширения .tar.bz2 и .tar.gz. Чтобы создать сжатый архив с помощью bzip2, введите:
tar -cjvf archive.tar.bz2 file1 file2 file3
Синтаксис для gzip отличается одной буквой в параметрах, и меняется окончание расширения архива:
tar -czvf archive.tar.gz file1 file2 file3
При распаковке tar-архивов с таким расширением следует указывать соответствующую опцию:
tar -C “Test” -xjvf arhive.tar.bz2
или:
tar -xzvf archive.tar.gz
На заметку: архиватор tar — одна из немногих утилит в GNU/Linux, в которой перед использованием однобуквенных параметров, стоящих вместе, можно не ставить знак дефиса.
Как вывести список содержимого архива в Linux
После создания архива вы можете просмотреть его содержимое с помощью подобной команды:
tar -tvf primerArhiva.tar
Команда выведет полный список файлов с отметками времени и разрешениями. Используйте аналогичную команду для .tar.gz:
tar -tvf primerArhiva.tar.gz
Такой вариант подходит и для файлов .tar.bz2:
tar -tvf primerArhiva.tar.bz2
Как извлечь только один файл из архива .tar
Вы можете извлечь необходимый вам файл, не распаковывая остальные файлы архива. Один из таких примеров показан ниже:
tar -xvf primerArhiva.tar primer.sh
Здесь primer.sh — это тот единственный файл, который будет извлечён из primerArhiva.tar. В качестве альтернативы вы также можете использовать следующую команду:
tar –extract –file= primerArhiva.tar primer.sh
Чтобы извлечь только один файл из .tar.gz, вы можете использовать команду, аналогичную показанной ниже:
tar -zxvf primerArhiva.tar.gz primer.sh
Или аналогичную команду:
tar –extract –file= primerArhiva.tar.gz primer.sh
Чтобы извлечь один файл из .tar.bz2, воспользуйтесь командой:
tar -jxvf primerArhiva.tar.bz2 primer.sh
Или аналогичную команду:
tar –extract –file= primerArhiva.tar.bz2 primer.sh
Как видите, команда tar имеет довольно гибкий синтаксис.
Как извлечь несколько файлов из архивов .tar
Если вы хотите извлечь несколько файлов, используйте следующий формат команды:
tar -xvf primerArhiva.tar “file1” “file2”
Соответственно для .tar.gz команда будет выглядеть так:
tar -zxvf primerArhiva.tar.gz “file1” “file2”
Для .tar.bz2:
tar -jxvf primerArhiva.tar.bz2 “file1” “file2”
Добавление файлов в существующий архив
Чтобы добавить файлы или каталоги в существующий архив tar, используйте операцию –append( -r).
Например, чтобы добавить файл с именем newfile в archive.tar, вы можете использовать:
tar -rvf archive.tar newfilе
Как проверить архив .tar в Linux
Используя tar, вы также можете проверить целостность созданного архива. Вот один из способов, как это можно сделать:
tar -tvf primerArhiva.tar
Данная команда не применима к файлам .tar.gz или .tar.bz2.
Как проверить размер архива в Linux
Вы также можете проверить размер созданного архива. Размер будет указан в КБ (килобайтах).
Ниже приведены примеры команды с разными архивными файлами:
tar -czf – primerArhiva.tar | wc -ctar -czf – primerArhiva.tar.gz | wc -ctar -czf – primerArhiva.tar.bz2 | wc -c
Удаление файлов из tar-архива
Используйте операцию –delete для удаления файлов из архива.
Например, чтобы удалить файл с именем file1 из archive.tar, вы можете использовать:
tar –delete -f archive.tar file1
Примеры
gz
Распаковка .gz файла:
tar -xvf archive.tar.gz
* при возникновении ошибки This does not look like a tar archive, можно воспользоваться командой gzip -d archive.tar.gz.
bz2
tar -xvjf archive.tar.bz2
* ключ j отвечает за работу с bz2.
Если система ругается на bzip2, значит нужно его установить:
yum install bzip2
apt-get install bzip2
pkg install bzip2
* соответственно, для CentOS (RPM based), Ubuntu (deb based), FreeBSD (BSD based).
Если видим ошибку tar: Unrecognized archive format, воспользуемся следующей командой:
bzip2 -d archive.tar.bz2
gzip
tar -xvzf archive.tar.gzip
* ключ z отвечает за работу с gzip.
tgz
Распаковывается, как gzip:
tar -xvzf archive.tgz
Основные команды gzip
Программу gzip тоже можно использовать отдельно, для сжатия или распаковки файлов. Чтобы создать архив, нужно выполнить команду gzip имя_файла. И наоборот, для распаковки — gunzip имя_файла.gz.
Помимо стандартных команд, имеются и ключи, которые расширяют функционал программы. Основные выглядят так:
- -h. Использование данного ключа приведёт к выводу списка доступных опций и команд;
- -q. Блокирует все появляющиеся во время работы сообщения;
- -t. Данный ключ проверяет архив на целостность;
- -fast и -best. Эти два ключа управляют скоростью создания архива. best — наилучшее качество сжатия, но медленнее. Fast — наоборот, очень быстро, но с меньшим процентом архивирования.
Выводы
В этой статье была рассмотрена команда tar Linux, которая используется для архивации файлов и поставляется по умолчанию во всех дистрибутивах. В её возможности входит создание и распаковка архива файлов без их сжатия. Для сжатия утилита применяется в связке с популярными компрессорами bzip2 и gzip.
[spoiler title=”Источники”]- https://andreyex.ru/operacionnaya-sistema-linux/sozdanie-i-izvlechenie-arhivov-s-pomoshhyu-komandy-tar-v-linux/
- https://windowsrar.ru/tar
- https://ru.hostings.info/termins/targz.html
- https://www.file-extension.info/ru/format/tar
- https://ITProffi.ru/rezervnoe-kopirovanie-v-linux-komanda-tar/
- https://www.vseprolinux.ru/tar
- https://www.dmosk.ru/miniinstruktions.php?mini=tar-unix
- https://www.hostinger.ru/rukovodstva/komanda-tar-linux/
- https://chuzhoy007.ru/kak-sozdat-arxiv-v-linux
- https://sheensay.ru/tar
- https://FB.ru/article/316621/programmyi-s-rasshireniem-tar-gz-kak-ustanovit-poshagovaya-instruktsiya-i-rekomendatsii
- https://www.linux16.ru/articles/kak-v-linux-raspakovat-tar-gz.html
- https://andreyex.ru/linux/komandy-linux-i-komandy-shell/kak-izvlech-ili-raspakovat-fajl-tar-xz-v-linux/
- https://losst.ru/komanda-tar-v-linux