- Распаковка архивов формата TAR.GZ в Linux
- Распаковываем архивы формата TAR.GZ в Linux
- Использование tar в Linux и FreeBSD для работы с архивами
- Создание и распаковка архивов
- Создать
- Распаковать
- Примеры
- Распаковать в определенную папку
- Распаковка без вложенной папки
- Исключение файлов по маске
- Работа с архивами, разбитыми на части
- Описание ключей tar
- Команды для действия
- Дополнительные опции
- Windows
- Команда Tar в Linux (создание и извлечение архивов)
- Синтаксис команды tar
- Создание архива Tar
- Создание архива Tar Gz
- Создание архива Tar Bz2
- Листинг архивов Tar
- Извлечение архива Tar
- Извлечение архива Tar в другой каталог
- Извлечение архивов Tar Gz и Tar Bz2
- Извлечение определенных файлов из архива Tar
- Извлечение файлов из архива Tar с использованием подстановочного знака
- Добавление файлов в существующий архив Tar
- Удаление файлов из архива Tar
- Выводы
Распаковка архивов формата TAR.GZ в Linux
Стандартным типом данных файловых систем в ОС Linux считается TAR.GZ — обычный архив, сжатый с помощью утилиты Gzip. В таких директориях часто распространяются различные программы и списки папок, объектов, что позволяет совершать удобное перемещение между устройствами. Распаковывается такой тип файлов тоже достаточно просто, для этого нужно воспользоваться стандартной встроенной утилитой «Терминала». Об этом и пойдет речь в нашей сегодняшней статье.
Распаковываем архивы формата TAR.GZ в Linux
В самой процедуре распаковки нет ничего сложного, пользователю потребуется только узнать одну команду и несколько связанных с ней аргументов. Инсталляция дополнительных инструментов при этом не требуется. Процесс выполнения поставленной задачи во всех дистрибутивах одинаков, мы же взяли за пример последнюю версию Ubuntu и предлагаем вам пошагово разобраться с интересующим вопросом.
- Для начала необходимо определить место хранения нужного архива, чтобы в дальнейшем перейти в родительскую папку через консоль и уже там осуществлять все остальные действия. Поэтому откройте файловый менеджер, найдите архив, щелкните по нему правой кнопкой мыши и выберите «Свойства».
Запустите «Терминал» любым удобным методом, например, зажав горячую клавишу Ctrl + Alt + T или воспользовавшись соответствующим значком в меню.
После открытия консоли сразу же переходите в родительскую папку путем ввода команды cd /home/user/folder , где user — имя пользователя, а folder — название директории. Следует также знать, что команда cd как раз и отвечает за перемещение в определенное место. Запомните это, чтобы в дальнейшем упростить взаимодействие с командной строкой в Linux.
Ожидайте вывода на экран всех найденных директорий и объектов, а затем с помощью прокрутки колесика мыши можете ознакомиться со всей информацией.
Начинается распаковка в место, где вы находитесь, путем указания команды tar -xvzf archive.tar.gz .
Длительность осуществления процедуры иногда занимает достаточно большое количество времени, что зависит от числа файлов внутри самого архива и их объема. Поэтому дожидайтесь появления новой строки ввода и до этого момента не закрывайте «Терминал».
Однако не всегда юзеру требуется вытаскивать все файлы из архива, из-за чего важно упомянуть, что рассматриваемая утилита поддерживает разархивацию и одного конкретного объекта. Для этого используется команда tar -xzvf Archive.tar.gz file.txt , где file.txt — имя файла и его формат.
Учитывать при этом следует и регистр названия, внимательно следите за всеми буквами и символами. Если будет допущена хотя бы одна ошибка, файл не удастся найти и вы получите уведомление о возникновении ошибки.
Касается такой процесс и отдельных директорий. Вытаскиваются они с помощью tar -xzvf Archive.tar.gz db , где db — точное название папки.
Если же требуется вытащить папку из директории, которая хранится в архиве, используемая команда выглядит следующим образом: tar -xzvf Archive.tar.gz db/folder , где db/folder — необходимый путь и указанная папка.
После ввода всех команд можете увидеть перечень полученного содержимого, он всегда выводится отдельными строками в консоли.
Как вы могли заметить, при вводе каждой стандартной команды tar мы использовали одновременно несколько аргументов. Вам нужно знать значение каждого из них хотя бы потому, что это поможет лучше понимать алгоритм распаковки в последовательность действий утилиты. Запомнить потребуется такие аргументы:
- -x — извлечение файлов из архива;
- -f — указывание имени архива;
- -z — проведение выполнения разархивации через Gzip (необходимо вводить, поскольку форматов TAR существует несколько, например, TAR.BZ или просто TAR (архив без сжатия));
- -v — отображение списка обрабатываемых файлов на экране;
- -t — показ содержимого.
Сегодня наше внимание было сосредоточено конкретно на распаковке рассмотренного типа файлов. Мы показали как проводится просмотр содержимого, вытаскивание одного объекта или директории. Если же вас интересует процедура установки программ, хранящихся в TAR.GZ, вам поможет другая наша статья, которую вы найдете, перейдя по следующей ссылке.
Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Использование 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 (создание и извлечение архивов)
Команда tar создает файлы tar путем преобразования группы файлов в архив. Он также может извлекать архивы tar, отображать список файлов, включенных в архив, добавлять дополнительные файлы к существующему архиву и выполнять различные другие операции.
Изначально Tar был разработан для создания архивов для хранения файлов на магнитной ленте, поэтому получил свое название « T ape AR chive».
В этой статье показано, как использовать команду tar для извлечения, перечисления и создания архивов tar на практических примерах и подробных объяснениях наиболее распространенных параметров tar.
Синтаксис команды 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 поддерживает широкий спектр программ сжатия, таких как gzip , bzip2 , lzip , lzma , lzop , xz и compress . При создании сжатых tar-архивов принято добавлять суффикс компрессора к имени файла архива. Например, если архив был сжат с помощью gzip , он должен называться archive.tar.gz.
Чтобы создать tar-архив, используйте параметр -c за которым следует -f и имя архива.
Например, чтобы создать архив с именем archive.tar из файлов с именами file1 , file2 , file3 , вы должны выполнить следующую команду:
Вот эквивалентная команда, использующая параметры полной формы:
Вы можете создавать архивы из содержимого одного или нескольких каталогов или файлов. По умолчанию каталоги архивируются рекурсивно, если не указана опция —no-recursion .
В следующем примере будет создан архив с именем user_backup.tar из user_backup.tar /home/user :
Используйте параметр -v если вы хотите увидеть файлы, которые обрабатываются.
Создание архива Tar Gz
Gzip — самый популярный алгоритм сжатия файлов tar. При сжатии tar-архивов с помощью gzip имя архива должно оканчиваться на tar.gz или tgz .
Параметр -z указывает tar сжимать архив с использованием алгоритма gzip мере его создания. Например, чтобы создать архив tar.gz из заданных файлов, вы должны выполнить следующую команду:
Создание архива Tar Bz2
Еще один популярный алгоритм сжатия файлов tar — это bzip2. При использовании bzip2 имя архива должно оканчиваться на tar.bz2 или tbz .
Чтобы сжать архив с помощью алгоритма bzip2 , вызовите tar с параметром -j . Следующая команда создает архив tar.bz2 из указанных файлов:
Листинг архивов Tar
При использовании с параметром —list ( -t ) команда tar выводит список содержимого архива tar без извлечения его.
Команда ниже отобразит содержимое файла archive.tar :
Чтобы получить дополнительную информацию, такую как владелец файла, размер файла, временная метка, используйте параметр —verbose ( -v ):
Извлечение архива Tar
Большинство архивных файлов в 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 их точные имена, включая путь, как напечатано с помощью —list ( -t ).
Извлечение одного или нескольких каталогов из архива аналогично извлечению файлов:
Если вы попытаетесь извлечь несуществующий файл, отобразится сообщение об ошибке, подобное следующему:
Извлечение файлов из архива Tar с использованием подстановочного знака
Чтобы извлечь файлы из архива на основе шаблона с подстановочными знаками, используйте переключатель —wildcards и —wildcards шаблон в кавычки, чтобы оболочка не интерпретировала его.
Например, чтобы извлечь файлы, имена которых заканчиваются на .js (файлы Javascript), вы можете использовать:
Добавление файлов в существующий архив Tar
Чтобы добавить файлы или каталоги в существующий tar-архив, используйте —append ( -r ).
Например, чтобы добавить файл с именем newfile в archive.tar, вы должны запустить:
Удаление файлов из архива Tar
Используйте операцию —delete для удаления файлов из архива.
В следующем примере показано, как удалить файл file1 из archive.tar:
Выводы
Чаще всего команда tar используется для создания и извлечения архива tar. Чтобы извлечь архив, используйте команду tar -xf за которой следует имя архива, а для создания нового используйте tar -czf за которым следует имя архива, а также файлы и каталоги, которые вы хотите добавить в архив.
Для получения дополнительной информации о команде tar обратитесь к странице документации Gnu tar .
Источник