Centos 7 tar gz не распаковывается. Распаковать tar, создать tar - удобная инструкция

Как создать архив.tar.gz

tar -cvf file.tar /full/path - создать.tar

tar -czvf file.tar.gz /full/path - создать.tar.gz (архив)

tar -cjvf file.tar.bz2 /full/path - создать.tar.bz2 (архив)

Синтаксис этих примеров:
tar [-ключи] [название архива] [путь, что запаковать]

Как открыть (распаковать) .tar

Чтобы распаковать запаковывай.tar: tar -xvf file.tar.gz

Синтаксис: tar [-ключи] [название архива]

Ключи архиватора

с - (Create) создать архив.
z – создает архив.tar.gz
j - создает архив.tar.bz2
x - (eXtract) позволяет вам извлекать файлы из архива.
v - делает вывод tar подробным. Это означает, что на экран будут выведены все найденные в архиве файлы. Если эта опция опущена, информация, выводимая в процессе обработки, будет ограничена.
f - является обязательной опцией. Без неё tar пытается использовать магнитную ленту вместо файла архива.
z - позволяет вам обрабатывать архив, сжатый gzip"ом (с расширением.gz). Если вы забудете указать эту опцию, tar выдаст ошибку. И наоборот, эта опция не должна использоваться для несжатых архивов.
t - (Test) просмотреть содержимое архива.

Более подробно о ключах и возможностях вы можете узнать, набрав команду в среде Unix
[~]# man tar

В файлах.tar можно хранить несколько папок (структуру папок и файлов).
Лучше использовать с ключами для архивации файла.tar, чтобы в результате получились файлы с расширением.tar.gz (файл.tar сжатый архиватором gzip) или.tar.bz2 (файл.tar сжатый bzip2).
bzip2 лучше сжимает, но с gzip более распространён, поэтому лучше сжимать этим архиватором.
Если у вас установлен WinRAR, то проблем с открытием.tar.bz2 и.tar.gz не будет.

История архиватора

tar (англ. tape archive) - формат битового потока или файла архива, а также название традиционной для Unix программы для работы с такими архивами. Программа tar была стандартизирована в POSIX.1-1998 , а также позднее в POSIX.1-2001 . Первоначально программа tar использовалась для создания архивов на магнитной ленте, а в настоящее время tar используется для хранения нескольких файлов внутри одного файла, для распространения программного обеспечения, а также по прямому назначению - для создания архива файловой системы. Одним из преимуществ формата tar при создании архивов является то, что в архив записывается информация о структуре каталогов, о владельце и группе отдельных файлов, а также временные метки файлов.
Как и другие утилиты Unix, tar - специализированная программа, которая следует философии Unix: «делать только одну вещь» (работать с архивами), «но делать её хорошо». Поэтому tar не создаёт сжатых архивов, а использует для сжатия внешние утилиты, такие как gzip и bzip2. Ранее для сжатия использовалась также утилита compress, которая практически вышла из употребления.

Примечание

Из-за достаточно поздней стандартизации существует несколько похожих, но не до конца совместимых форматов. В частности различие между GNU tar и SUN Solaris tar наблюдается при длине имени файла, включаемого в архив, более 100 символов или размере включаемого в архив файла более 8 ГБ.

Расширения имён файлов

Для файлов, содержащих архивы tar, традиционно применяются следующие расширения имён файлов:

архив tar:
.tar

архив tar, сжатый программой gzip:
.tar.gz
.tgz (в случае ограничений файловой системы на длину расширения)
.tar.gzip

архив tar, сжатый программой bzip2
.tar.bz2
.tar.bzip2
.tbz2
.tb2
.tbz

архив tar, сжатый программой compress
.tar.Z
.taz

архив tar, сжатый программой LZMA
.tar.lzma

архив tar, сжатый программой XZ
.tar.xz

архив tar, сжатый программой lzop

Рубрика

Tar - один из наиболее распространённых архиваторов в Linux системах. Но tar не сжимает файлы в архиве. Tar всего лишь упаковывает файлы в архив без компрессии. Для сжатия tar умеет работать в паре с bzip2 или gzip. В статье приведено описание способов применения tar.

Создать архив из папки

Чтобы создать архив tar с gzip сжатием, введите следующую команду:

tar -zcf /root/files.tar.gz /home/folder/

Разберём пример по частям. Команда tar запускается с ключами:

z - Архивирует с gzip компрессией. Чтобы использовать bzip2, надо заменить ключ "z " на "j ".
c - Создаёт архив. Без этого ключа архив не создастся.
f - Без этого ключа архив не создастся. Как гласит документация: "без ключа f tar будет выдавать результат на stdout при упаковке и пытаться читать архив с stdin при распаковке"

После ключей указывается путь к файлу создаваемого архива с его названием: /root/files.tar.gz . Если указать относительный путь, то файл создастся в той папке, где открыт терминал.

В самом конце команды передаётся директория, которую надо архивировать /home/folder/ . В примере стоит абсолютный путь к этой папке. В таком случае в архиве tar будет находится все родительские папки т.е. при открытии архива там будет папка /home/ и внутри неё папка /folder/ . Но если абсолютный путь заменить относительным, то будет только /folder/ .

Разархивировать

Чтобы распаковать архив, перейдите в папку с ним и введите:

tar -xf files.tar.gz

Файлы будут распакованы в ту же папку, где находится архив.

Ключ x указывает на распаковку архива. Ключ f обязателен, как и при создании архива.

Если требуется распакавать архив в определённую папку, то путь к ней можно указать после ключа C :

tar -xf files.tar.gz -C /home/folder/

Исключить папки из архива

Иногда возникает задача в исключении некоторых подпапок из архива. К примеру, если надо создать архив из папки /home/, но в него не должны попасть содержания папок /cache/ и /trash/ . Тогда необходимо использовать ключ exclude:

tar -zcf /root/files.tar.gz /home/ --exclude={"*/cache/ *","*/trash/ *"}

В конце значений explude, у папок, нет слеша "/". Если слеша не будет, то удалится не содержимое папки, а вся папка.

Звёздочки в названии папок стоят, чтобы не указывать полный путь к папкам. При выполнении такой команды в архив не попадут файлы из папок.

В качестве инструмента для архивации данных в Linux используются разные программы. Например , приобретший большую популярность из-за совместимости с ОС Windows. Но это не стандартная для системы программа. Поэтому хотелось бы осветить команду tar Linux - встроенный архиватор.

Изначально tar использовалась для архивации данных на ленточных устройствах. Но также она позволяет записывать вывод в файл, и этот способ стал широко применяться в Linux по своему назначению. Здесь будут рассмотрены самые распространенные варианты работы с этой утилитой.

Синтаксис команд для создания и распаковки архива практически не отличается (в том числе с утилитами сжатия bzip2 или gzip ). Так, чтобы создать новый архив, в терминале используется следующая конструкция:

tar опции архив.tar файлы_для_архивации

Для его распаковки:

tar опции архив.tar

Функции, которые может выполнять команда:

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

Как пользоваться tar

С помощью следующей команды создается архив archive.tar с подробным выводом информации, включающий файлы file1 , file2 и file3 :

tar --totals --create --verbose --file archive.tar file1 file2 file3

Но длинные опции и параметры можно заменить (при возможности) однобуквенными значениями:

tar --totals -cvf archive.tar file1 file2 file3

2. Просмотр содержимого архива

Следующая команда выводит содержимое архива, не распаковывая его:

tar -tf archive.tar

3. Распаковка архива tar Linux

Распаковывает архив test.tar с выводом файлов на экран:

tar -xvf archive.tar

Чтобы сделать это в другой каталог, можно воспользоваться параметром -C :

tar -C "Test" -xvf archive.tar

3. Работа со сжатыми архивами

Следует помнить, что 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, в которой перед использованием однобуквенных параметров, стоящих вместе, можно не ставить знак дефиса.

Выводы

В этой статье была рассмотрена команда tar Linux, которая используется для архивации файлов и поставляется по умолчанию во всех дистрибутивах. В её возможности входит создание и распаковка архива файлов без их сжатия. Для сжатия утилита применяется в связке с популярными компрессорами bzip2 и gzip .

В большинстве случаев, веб имеют определённые ограничения, когда заходит речь о распаковке файлов. Или может быть вы используете VPS вовсе без какой-либо панели, и распаковка архива потребует и выполнить команды ssh над архивом определённого типа. Наиболее распространённые типы архивов .tar ; .tar.gz и .zip , для каждого есть своя команда создания и распаковки.

Распаковка архивов, используя команды SSH

Прежде всего, вам понадобится перейти в тот каталог, где находится ваш архив. К примеру, если ваш архив находится в каталоге public_html/files , выполните команду, чтобы перейти туда:

Cd public_html/files

Как распаковать.tar.gz

Следующая команда позволит вам распаковать содержимое архива.tar.gz:

Tar -zxvf ArchiveName.tar.gz

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

Как распаковать.tar

Файл архива с таки типом сжатия можно распаковать следующей командой:

Tar -xvf ArchiveName.tar

На экран появится список файлов вашего архива и по завершению распаковки консоль освободится для введения других команд.

Как распаковать.zip

Эта команда позволит распаковать.zip:

Unzip ArchiveName.zip

Как только завершиться процесс, командная строка будет свободна.

Создание архивов, используя команды SSH

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

Как создать.tar.gz

Показанный ниже метод позволит вам сжать выбранные файлы в архив:

Tar -zcf NewArchive.tar.gz yourfile1.php yourfile2.php yourfile3.txt

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

Tar -zcf NewArchive.tar.gz DirectoryName

По завершению, как и раньше, консоль освободится для дальнейших операций.

Как создать.tar

Синтаксис создания архива.tar при помощи команды ssh очень простой:

Tar -zcf archive-name.tar.gz filename1.php filename2.php filename3.php

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

Tar -zcf archive-name.tar.gz DirectoryName

Как только вы сможете снова запускать команды, это значит ваш архив готов.

Как создать.zip

Этот тип архива создавать ещё проще. Синтаксис выглядит так:

Zip archive-name.zip filename1.php filename2.php filename3.php

Сжатие каталога имеет такой же синтаксис:

Zip archive-name DirectoryName

На экране будет показан процесс создания архива и после завершения создания консоль снова освободится для других команд.

Заключение

Поздравляем! Следуя этим простым инструкциям вы теперь знаете? как создавать и распаковывать.tar.gz, .tar, .zip архивы, используя команды SSH.

tar - наиболее распространенный архиватор, используемый в Linux-системах. Сам по себе tar не является архиватором в привычном понимании этого слова, т.к. он самостоятельно не использует сжатие. В то же время, многие архиваторы (например, Gzip или bzip2) не умеют сжимать несколько файлов, а работают только с одним файлом или входным потоком. Поэтому чаще всего эти программы используются вместе. tar создает несжатый архив, в который помещаются выбранные файлы и каталоги, при этом сохраняя некоторые их атрибуты (такие как права доступа). После этого полученный файл *.tar сжимается архиватором, например, gzip . Вот почему архивы обычно имеют расширение.tar.gz или.tar.bz2 (для архиваторов gzip и bzip2 соответственно)

Использование

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

Создание архива

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

Tar -cf txt.tar *.txt

Эта команда упакует все файлы с расширением txt в архив txt.tar. Так и создается простейший архив без сжатия. Для использования сжатия не нужно запускать что-либо еще, достаточно указать tar, каким архиватором следует сжать архив. Для двух самых популярных архиваторов gzip и bzip2 ключи будут -z и -j соответственно.

Tar -cvzf files.tar.gz ~/files

упакует папку ~/files со всем содержимым в сжатый с помощью gzip архив.

Tar -cvjf files.tar.bz2 ~/files

создаст аналогичный архив, используя для сжатия bzip2.

Ключ -v включает вывод списка упакованных файлов в процессе работы. К сожалению, более продвинутой индикации хода процесса (например, указания степени готовности в процентах) в tar не предусмотрено. Для этого используйте графические архиваторы (например, Xarchiver) или пользуйтесь средствами файл-менеджера.

Помимо gzip и bzip2 можно использовать, например, lzma (ключ –lzma) или xz (ключ -J), при этом соответствующий архиватор должен быть установлен в системе.

Распаковка архива

Действие «распаковка» задается с помощью ключа -x . И тут снова потребуется ключ -f для указания имени файла архива. Также добавим ключ -v для визуального отображения хода процесса.

Tar -xvf /path/to/archive.tar.bz2

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

Tar -xvf archive.tar.bz2 -C /path/to/folder

Просмотр содержимого архива

Для просмотра содержимого архива используйте следующую команду:

Tar -tf archive.tar.gz

Она выведет простой список файлов и каталогов в архиве. Если же добавить ключ -v , будет выведен подробный список с указанием размера, прав доступа и прочих параметров (так же, как по ls -l)

Прочие возможности

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

man tar tar --help
  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то