- Использование tar в Linux и FreeBSD для работы с архивами
- Создание и распаковка архивов
- Создать
- Распаковать
- Примеры
- Распаковать в определенную папку
- Распаковка без вложенной папки
- Исключение файлов по маске
- Работа с архивами, разбитыми на части
- Описание ключей tar
- Команды для действия
- Дополнительные опции
- Windows
- Команда Tar в Linux. Cоздание и распаковка архивов
- Tar Command in Linux (Create and Extract Archives)
- В этом руководстве мы покажем вам, как использовать tar команду для извлечения, просмотра и создания архивов tar на практических примерах и подробных объяснениях наиболее распространенных параметров tar.
- Синтаксис команды Tar
- Создание Tar Архив
- Создание архива Tar Gz
- Создание архива Tar Bz2
- Листинг Тар Архивы
- Извлечение Тар Архив
- Извлечение архива Tar в другой каталог
- Извлечение архивов Tar Gz и Tar Bz2
- Извлечение определенных файлов из архива Tar
- Извлечение файлов из архива Tar с использованием подстановочного знака
- Добавление файлов в существующий архив Tar
- Удаление файлов из архива Tar
- Вывод
- Как распаковать tar bz2 xz gz архивы в Linux
- Распаковка tar
- Распаковка tar.bz2, tar.bzip2, tbz2, tb2, tbz
- Распаковка tar.xz, txz
- Распаковка tar.gz, tgz
- Распаковка tar.lzma
- Пояснение опций
- Распаковка в определенную директорию
- Заключение
Использование tar в Linux и FreeBSD для работы с архивами
Утилита командной строки tar используется для работы с архивами в операционных системах на базе UNIX. С ее помощью можно архивировать данные и оптимизировать использование дискового пространства.
Создание и распаковка архивов
Создать
Создание выполняется с ключом c. Синтаксис следующий:
tar -czvf archive.tar.gz /home/dmosk
* в данном примере будет создан архив archive.tar.gz домашней директории пользователя (/home/dmosk)
** где z — сжать архив в gzip (без этого параметра, tar не сжимает, а создает так называемый тарбол); c — ключ на создание архива; v — verbose режим, то есть с выводом на экран процесса (очень удобно для наблюдением за ходом работы, но в скриптах можно упустить); f — использовать файл (обязательно указываем, так как в большей степени работаем именно с файлами).
Распаковать
Распаковка выполняется с ключом x с синтаксисом:
tar -xvf archive.tar.gz
Примеры
Распаковка .gz файла:
tar -xvf archive.tar.gz
* при возникновении ошибки This does not look like a tar archive, можно воспользоваться командой gzip -d archive.tar.gz.
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
tar -xvzf archive.tar.gzip
* ключ z отвечает за работу с gzip.
Распаковывается, как gzip:
tar -xvzf archive.tgz
Распаковать в определенную папку
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 пропустит одну вложенную папку внутри архива.
Исключение файлов по маске
Если необходимо пропустить некоторые файлы, вводим команду с ключом —exclude:
tar —exclude=’sess_*’ -czvf archive.tar.gz /wwwsite
* в данном примере мы создадим архив archive.tar.gz, в котором не будет файлов, начинающихся на sess_.
Также можно исключить несколько файлов или папок, добавляя несколько опций exclude:
tar —exclude=’/data/recycle’ —exclude=’*.tmp’ zcf /backup/samba/2021-08-29.tar.gz /data/
* в данном примере мы исключим папку recycle и файлы, которые заканчиваются на .tmp
Работа с архивами, разбитыми на части
Разбить архив на части может понадобиться по разным причинам — нехватка места на носителе, необходимость отправки файлов по почте и так далее.
Чтобы создать архив, разбитый на части, вводим команду:
tar -zcvf — /root | split -b 100M — root_home.tar.gz
* данная команда создаст архив каталога /root и разобьет его на части по 100 Мб.
В итоге мы получим, примерно, такую картину:
root_home.tar.gzaa root_home.tar.gzac root_home.tar.gzae
root_home.tar.gzag root_home.tar.gzai root_home.tar.gzab
root_home.tar.gzad root_home.tar.gzaf root_home.tar.gzah
Чтобы собрать архив и восстановить его, вводим команду:
cat root_home.tar.gz* | tar -zxv
Описание ключей 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 не работает с zip-архивами. В системах UNIX для этого используем утилиты zip и unzip. Для начала, ставим нужные пакеты:
yum install zip unzip
apt-get install zip unzip
pkg install zip unzip
* соответственно, для RPM based, deb based, BSD based.
zip -r archive.zip /home/dmosk
* создает архив каталога /home/dmosk в файл archive.zip.
Windows
В системе на базе Windows встроенными средствами можно распаковать только ZIP-архивы. Для работы с разными архивами рекомендуется поставить архиватор, например 7-Zip.
Источник
Команда Tar в Linux. Cоздание и распаковка архивов
Tar Command in Linux (Create and Extract Archives)
В этом руководстве мы покажем вам, как использовать tar команду для извлечения, просмотра и создания архивов tar на практических примерах и подробных объяснениях наиболее распространенных параметров tar.
Команда tar используется для создания архивов tar путем преобразования группы файлов в архив. Он также имеет возможность извлекать архивы tar, отображать список файлов, включенных в архив, добавлять дополнительные файлы в существующий архив, а также выполнять различные другие операции.
Изначально Tar был предназначен для создания архивов для хранения файлов на магнитной ленте, поэтому он имеет название « T ape AR chive».
Синтаксис команды Tar
Существует две версии tar, BSD tar и GNU tar с некоторыми функциональными различиями. Большинство систем Linux поставляются с GNU tar, предварительно установленным по умолчанию.
Общий синтаксис tar команды выглядит следующим образом:
- OPERATION — Допускается и требуется только один аргумент операции. Наиболее часто используемые операции:
- —create ( -c ) — Создать новый архив tar.
- —extract ( -x ) — Извлечение всего архива или одного или нескольких файлов из архива.
- —list ( -t ) — Показать список файлов, включенных в архив
- OPTIONS — Наиболее часто используемые операции:
- —verbose ( -v ) — Показать файлы, обрабатываемые командой tar.
- —file=archive=name ( -f archive-name ) — указывает имя файла архива.
- ARCHIVE_NAME — название архива.
- FILE_NAME(s) — Разделенный пробелами список имен файлов для извлечения из архива. Если не предоставлено, весь архив извлекается.
При выполнении команд tar вы можете использовать длинную или короткую форму tar операций и опций. Длинные формы более читабельны, а короткие — быстрее набираются. Параметры длинной формы начинаются с двойной черты ( — ). Параметры краткой формы имеют префикс с одной чертой ( — ), который может быть опущен.
Создание Tar Архив
Для создания архива tar используйте -c опцию -f и имя архива.
Например, чтобы создать архив с именем archive.tar из файлов с именами file1 , file2 , file3 вы бы выполнить следующую команду:
Вот эквивалентная команда, использующая параметры длинной формы:
Вы можете создавать архивы из содержимого одного или нескольких каталогов или файлов. По умолчанию каталоги архивируются рекурсивно, если —no-recursion не указан параметр.
В следующем примере создается архив с именем user_backup.tar в /home/user каталоге:
Используйте эту -v опцию, если вы хотите увидеть файлы, которые обрабатываются.
Создание архива Tar Gz
Gzip — самый популярный алгоритм сжатия tar-файлов. При сжатии архивов tar с помощью gzip имя архива должно заканчиваться либо либо, tar.gz либо tgz .
-z Опция сообщает деготь сжать архив , используя gzip алгоритм , как он будет создан. Например, чтобы создать архив tar.gz из заданных файлов, вы должны использовать следующую команду:
Создание архива Tar Bz2
Другой популярный алгоритм для сжатия tar-файлов — это bzip2. При сжатии архивов tar с помощью bzip2 имя архива должно заканчиваться либо либо, tar.bz2 либо tbz .
Когда -j опция указана, tar будет использовать bzip2 алгоритм для сжатия архива. Следующая команда создаст tar.bz2 архив из заданных файлов:
Листинг Тар Архивы
При использовании с параметром —list ( -t ) tar команда выведет список содержимого архива tar без его извлечения. Команда ниже, выведет список содержимого archive.tar файла:
В выводе будут перечислены имена всех файлов в архиве:
Для получения дополнительной информации, такой как владелец файла, размер файла, отметка времени, используйте параметр —verbose ( -v ):
Извлечение Тар Архив
Большинство архивных файлов в Linux архивируются и сжимаются в формате tar или tar.gz. Очень важно знать, как извлечь эти файлы из командной строки.
Чтобы извлечь архив tar, используйте параметр —extract ( -x ), за которым следует имя архива:
Также распространено добавлять -v опцию для печати имен извлекаемых файлов.
Извлечение архива Tar в другой каталог
По умолчанию tar извлекает содержимое архива в текущем рабочем каталоге . Используйте —directory ( -C ) для извлечения архивных файлов в определенном каталоге:
Например, чтобы извлечь содержимое архива в /opt/files каталог, вы можете использовать:
Извлечение архивов Tar Gz и Tar Bz2
При извлечении сжатых архивов, таких как tar.gz или tar.bz2 вам не нужно указывать опцию распаковки. Команда такая же, как при извлечении tar архива:
Извлечение определенных файлов из архива Tar
Иногда вместо того, чтобы извлечь весь архив, вам может потребоваться извлечь из него только несколько файлов.
Чтобы извлечь конкретные файлы из архива tar, добавьте разделенный пробелами список имен файлов, которые нужно извлечь после имени архива:
При извлечении файлов вы должны указать их точные имена, включая путь, как указано в —list ( -t ).
Извлечение одного или нескольких каталогов из архива аналогично извлечению файлов:
Если вы попытаетесь извлечь файл, который не существует, появится сообщение об ошибке, подобное следующему:
Извлечение файлов из архива Tar с использованием подстановочного знака
Чтобы извлечь файлы из архива на основе шаблона с подстановочными знаками, используйте —wildcards переключатель и заключите шаблон в кавычки, чтобы оболочка не интерпретировала его.
Например, чтобы извлечь файлы, имена которых оканчиваются на .js (файлы Javascript), вы можете использовать:
Добавление файлов в существующий архив Tar
Чтобы добавить файлы или каталоги в существующий архив tar, используйте операцию —append ( -r ).
Например, чтобы добавить файл с именем newfile в archive.tar, вы должны выполнить:
Удаление файлов из архива Tar
Используйте —delete операцию для удаления файлов из архива.
В следующем примере показано, как удалить файл file1 из archive.tar,:
Вывод
Наиболее распространенное использование этой tar команды — создание и извлечение архива tar. При извлечении архива используйте tar -xf команду, за которой следует имя архива, и для создания нового используйте tar -czf команду, за которой следуют имя архива и файлы и каталоги, которые вы хотите добавить в архив.
Источник
Как распаковать tar bz2 xz gz архивы в Linux
Шпаргалка по распаковке tar архивов.
Для распаковки tar-архивов через командную строку используется утилита tar.
Полезно знать, что архивы в формате tar имеют расширение файлов .tar . Также в Linux распространены архивы, которые имеют дополнительное сжатие другими программами. Например, архивы .tar.bz2 , .tar.gz и другие. Все эти архивы можно распаковать утилитой tar.
Распаковка tar
Для распаковки архива в формате .tar в текущую директорию выполните команду:
Распаковка tar.bz2, tar.bzip2, tbz2, tb2, tbz
Распаковка tar.xz, txz
Распаковка tar.gz, tgz
Распаковка tar.lzma
Пояснение опций
x — распаковать архив.
v — Verbose-режим (вывод на экран дополнительной информации во время распаковки).
f — выполнить распаковку архива из файла.
j — вызвать bzip2 для распаковки архива.
z — вызвать gzip
J — вызвать xz
Распаковка в определенную директорию
Чтобы распаковать архив в определенную директорию используется опция -C или —directory , например:
Примечание: директория должна существовать.
Заключение
Мы рассмотрели базовый набор команд, который можно использовать для распаковки различных видов tar-архивов. Существуют также еще некоторые типы архивов, но они менее распространены.
Источник