- Tar — как запаковать и распаковать tar gz и tar bz2
- Как установить, создать архив Tar и распаковать его в Windows
- Как запаковать архив tar.gz и tar.bz2 в Ubuntu, Debian, CentOS
- Как распаковать архив tar.gz и tar.bz2 Ubuntu, Debian, CentOS
- Просмотр архивов tar в Linux
- Иные возможности tar
- 15 примеров команды tar для сисадминов и девопсов
- 1. Создание tar архива
- 2. Создание сжатого архива (GZ)
- 3. Создание сжатого архива (BZ)
- 4. Распаковка всех файлов
- 5. Просмотр содержания архива
- 6. Распаковка конкретных файлов
- 7. Распаковка с помощью маски
- 8. Добавление файлов в архив
- 9. Удаление файлов из архива
- 10. Создание архива с проверкой
- 11. Распаковка архива в папку
- 12. Использование флага –diff
- 13. Исключение файлов
- 14. Просмотр размера содержимого архива
- 15. Архивация с сохранением разрешений
- Заключение
- Как создать архив .tar.gz в Linux
Tar — как запаковать и распаковать tar gz и tar bz2
Tar — это популярный файловый архиватор в Unix/Linux системах. Tar зачастую используется вместе с архиваторами GZip или BZip2 , так как они отлично взаимодополняют друг друга: Tar не может сжимать файлы, только собирать их в одни архив, а GZip и BZip2 не могут сжимать несколько файлов одновременно, поэтому если вам нужно запаковать несколько файлов и директорий, сначала они собираются в один несжатый архив с помощью Tar , который сохранит их некоторые атрибуты, например такие, как права доступа, а затем этот архив сжимается с помощью GZip или BZip2 . Весь процесс запускается одной консольной командой, про которые далее.
Как установить, создать архив Tar и распаковать его в Windows
Чтобы использовать Tar в Windows, нужно воспользоваться одним из следующих вариантов:
- Установить Far Manager.
Инструкция по созданию и распаковке архива .tar с помощью Far Manager:
Теперь просто выделяете ПКМ (правой кнопкой мыши) или кнопкой клавиатуры Insert нужные вам файлы и папки и жмёте Shift + F1 , затем выбираете нужный формат (в нашем случае, TAR) и создаёте архив:
Создание архива в Far Manager
Как распаковать Tar в Far Manager
Скачать 7-zip архиватор
Как запаковать архив 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, исключая раздел Updraft wp-content/updraft , раздел Загрузки wp-content/uploads и Кеш wp-content/cache .
Важный момент — чтобы исключить ошибки, не указывайте слеш / в конце пути исключаемого каталога.
Как распаковать архив tar.gz и tar.bz2 Ubuntu, Debian, CentOS
Чтобы распаковать архив tar.gz или tar.bz2 , в команде нужно заменить -с на ключ -x , а также указать путь до архива, абсолютный или относительный
Команда для распаковки архива в текущую директорию выглядит так
С помощью ключа -С можно указать путь, куда нужно распаковать архив
tar xfvj archive.tar.bz2 -C /var/www
Просмотр архивов tar в Linux
Для просмотра содержимого архивов можно использовать ключ -t
Будет выведен список файлов и директорий в архиве. При добавлении ключа -v также будет выведена подробная служебная информация о правах доступа, размерах файлов и прочем.
Иные возможности tar
Tar имеет много дополнительных возможностей, к примеру, добавление файлов в существующий архив, исключение некоторых файлов и директорий при запаковке архива и так далее. Подробнее вы можете узнать о них при помощи команды
15 примеров команды tar для сисадминов и девопсов
Название tar архива образовано от сочетания Tape ARchive, так как было разработано для записи последовательных данных на ленточные устройства. Также иногда встречается название tarball.
По умолчанию tar архивирует файлы только без сжатия, но с использованием некоторых частей. Мы можем использовать различные методы сжатия, чтобы на выходе получить архив меньшего размера. Утилита tar обычно включается в большинство дистрибутивов Linux по умолчанию, а сам формат поддерживается другими операционными системами, включая Windows и macOS, с помощью различных инструментов и утилит.
В этой статье мы рассмотрим некоторые общие примеры использования команды tar и поддерживаемые флаги.
1. Создание tar архива
Для создания обычного архива без сжатия достаточно ввести команду ниже:
Здесь флаги c обозначает создание, v обозначает подробный вывод и f обозначает имя файла архива tar . По соглашению укажите имя файла tar с расширением .tar . Архивируемые файлы могут быть определены с помощью подстановочных знаков или же можно указать один файл или несколько файлов/путей.
В качестве примера можно привести три файла в каталоге:
Создать архив, содержащий все три файла, можно следующим образом:
Также можно указать только конкретные файлы для архивирования, например:
2. Создание сжатого архива (GZ)
tar позволяет не только архивировать файлы, но и сжимать их для экономии места. Одним из популярных форматов сжатия является gunzip , обычно представленный расширением .gz после .tar или как tgz . Мы можем использовать флаг z , чтобы указать, что файлы должны быть сжаты с помощью gunzip . Вот пример:
Можно заметить, что размер архивных файлов существенно отличается, хотя оба содержат одни и те же три файла. Это связано с использованием сжатия с использованием флага z .
3. Создание сжатого архива (BZ)
tar поддерживает несколько других форматов сжатия. Одним из них является bz2 или bzip2 , который представлен расширением tar.bz2 или иногда как tbz2 . Это может дать вам меньший размер архива, но, в свою очередь, потребляет больше ЦП, так что процесс сжатия/декомпрессии может быть медленнее, чем gz архив. Для создания bz архива используется флаг j :
4. Распаковка всех файлов
Архив tar (сжатый или несжатый) можно извлечь с помощью опции x . Ниже приведены примеры, поясняющие его использование:
Эта команда также работает для сжатого архива формата gz :
И даже для архива со сжатием bz2 :
5. Просмотр содержания архива
Чтобы перечислить содержимое архива tar , можно использовать флаг t , как показано ниже:
6. Распаковка конкретных файлов
Из архива tar , tar.gz или tar.bz2 можно извлечь как все файлы, так и один конкретный файл, указав имя файла:
Аналогично, можно указать несколько имен файлов, разделенных пробелом, чтобы извлечь их вместе за один переход.
7. Распаковка с помощью маски
Чтобы извлечь один или несколько файлов с помощью шаблона PATTERN , используйте флаг —wildcards :
8. Добавление файлов в архив
В существующий несжатый архив можно добавлять новые файлы используя флаг r или —append с новыми именами файлов или шаблоном подстановочных символов (помните, что это работает только с несжатыми TAR-файлами, а не со сжатыми форматами tar.gz или tar.bz2 ):
Можно увидеть, что содержимое списка archive.tar показывает два только что добавленных файла.
9. Удаление файлов из архива
Удаление определенных файлов из архива tar возможно с помощью флага —delete , как показано ниже (сравните список tar до и после удаления файлов):
Опять же это работает только для несжатых архивов и завершится неудачей для сжатых форматов архива.
10. Создание архива с проверкой
При создании несжатых архивных файлов можно проверить содержимое архива, используя флаг W как показано ниже:
Этот флаг нельзя использовать с флагами сжатия, хотя можно сжать созданный файл tar позже с помощью gzip или других инструментов.
11. Распаковка архива в папку
Если вы хотите извлечь содержимое тарбола в определенную папку вместо текущего каталога, используйте флаг -C с указанием пути к каталогу, как показано ниже:
12. Использование флага –diff
Можно использовать флаг —diff или d для поиска любых изменений между файлами в архиве tar и файлами в файловой системе. Вот пример, который запускает diff один раз, когда файл внутри архива и снаружи был один и тот же. Если запустить команду снова после обновления файла, то можно увидеть разницу в выходных данных.
13. Исключение файлов
Исключение определенных файлов может быть обязательным при создании архивов tar . Этого можно достичь с помощью флага —exclude .
Как можно заметить из приведенных выше выходных данных, можно задать флаг —exclude несколько раз, чтобы указать несколько имен файлов или шаблонов связывая их логическим AND . Следует отметить, что из шести файлов в директории в приведенном выше примере только два файла удовлетворяли условию, которое должно быть включено в archive.tar.gz .
14. Просмотр размера содержимого архива
Размер содержимого сжатого архива tar можно получить с помощью следующей команды:
Аналогично для архива bz2 :
15. Архивация с сохранением разрешений
По умолчанию команда tar сохраняет разрешение архивированных файлов и каталогов, хотя можно явно указать его с помощью флага -p или —preserve-permissions , как показано ниже.
Заключение
tar — полезная утилита в системах Unix/Linux в течение долгого времени и в первую очередь использовалась в задачах архивирования и резервного копирования. С течением времени утилита развивалась и приобретала многие опции. Он может использоваться для простых и сложных задач, если вы знаете, какие функции он предлагает. В этой статье описаны некоторые основные операции, которые можно выполнить с помощью команды tar , и показано, как она может помочь в выполнении повседневных задач системного администрирования.
Для получения дополнительных сведений обратитесь воспользуйтесь встроенным руководством Linux с помощью команда man tar или используйте команду tar —help или tar —usage .
Как создать архив .tar.gz в Linux
с — (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, которая практически вышла из употребления.