Примеры Использования Команды Tar в Linux

Примеры Использования Команды Tar в Linux

Tar — одна из наиболее широко используемых команд Linux для сжатия. Использование tar даёт много преимуществ, за что её и любят специалисты, имеющие дело с командной строкой Linux. Дальше мы поговорим об этих преимуществах, а также рассмотрим основные примеры использования утилиты.

Tar расшифровывается как «Tape archive» и используется для сжатия файлов и папок.

В большинстве случаев результатом сжатия с использованием утилиты tar является файл с расширением .tar. Последующие сжатия выполняются с помощью gzip, в результате получаем файл .tar.gz.

С помощью tar вы можете сжимать и распаковывать файлы. Tar имеет много опций, но некоторые из них вам, возможно, придётся запомнить.

Преимущества tar:

  • Tar довольно эффективно сжимает файлы, степень сжатия — 50%;
  • Значительно уменьшает размер упакованных файлов и папок;
  • Tar не изменяет свойства файлов и каталогов. Разрешения и другие функции остаются неизменными;
  • Tar доступна в большинстве версий Linux, в том числе и в более старых,  а также в прошивке Android;
  • Быстро сжимает и разжимает содержимое;
  • Простая в использовании.

Теперь, когда мы разобрались с преимуществами tar, стоит ответить на ещё один вопрос: при каких сценариях используется эта утилита?

  • Если вы работаете в системах на базе Linux и вам нужно сжать файлы;
  • Вам нужно перенести огромную коллекцию файлов и папок с одного сервера на другой;
  • Нужно сделать резервную копию сайта, данных или чего-либо ещё;
  • Чтобы уменьшить использование места в вашей системе;
  • Для загрузки и скачивания папок.

Как использовать Tar в Linux

Давайте узнаем, какие основные операции вы можете выполнять с помощью tar. Но прежде чем мы начнём, вам нужно будет подключиться к вашему VPS-серверу по SSH. Вот руководство, которое вам поможет!

Создание файла .tar в Linux

Вы можете сжимать как файлы, так и папки. В обоих случаях в результате вы получите архив с расширением .tar. Пример создания такого архива:

tar -cvf primerArhiva.tar /home/primerArhiva

Здесь /home/primerArhiva — это каталог, который необходимо сжать, в результате чего мы получим primerArhiva.tar.

В команде используются параметры –cvf, которые реализуют следующие модификации:

  • c – создает новый файл .tar;
  • v – выводит подробное описание процесса сжатия;
  • f – имя файла.

Создание файла .tar.gz в Linux

Если вы хотите добиться ещё большего сжатия, создайте архив .tar.gz. Вот пример:

tar -cvzf primerArhiva.tar.gz /home/primerArhiva

Дополнительная опция z представляет сжатие gzip. Как вариант, вы также можете создать архив .tgz, похожий на tar.gz. Например:

tar -cvzf primerArhiva.tgz /home/primerArhiva

Создание файла .tar.bz2 в Linux

Файлы архива .bz2 имеют ещё больший уровень сжатия, чем файлы, сжатые с gzip. Однако для сжатия и распаковки потребуется больше времени. Чтобы создать архив, вам нужно использовать опцию -j. Пример операции:

tar -cvjf primerArhiva.tar.bz2 /home/primerArhiva

Похожие варианты сжатия — .tar.tbz и .tar.tb2. Например:

tar -cvjf primerArhiva.tar.tbz /home/primerArhiva
tar -cvjf primerArhiva.tar.tb2 /home/primerArhiva

Как разархивировать файлы .tar в Linux

Команду tar также можно использовать для извлечения файлов. Следующая команда извлечет файлы в текущий каталог:

tar -xvf primerArhiva.tar

Если вы хотите распаковать файлы в другой каталог, используйте опцию -C. Например:

tar -xvf primerArhiva.tar -C /home/PapkaRaspakovannyhFailov/

Аналогичную команду можно использовать для распаковки файлов .tar.gz:

tar -xvf primerArhiva.tar.gz
tar -xvf primerArhiva.tar.gz -C /home/PapkaRaspakovannyhFailov/

.tar.bz2, .tar.tbz или .tar.tb2 файлы могут быть распакованы аналогично. Для этого введите следующую команду в командной строке:

tar -xvf primerArhiva.tar.bz2

Как вывести список содержимого архива в 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"

Извлечь несколько файлов за критерием

Если вы хотите извлечь из архива только определённые файлы, например только .jpg, используйте метасимволы. Пример такой команды показан ниже:

tar -xvf primerArhiva.tar --wildcards '*.jpg'

Для .tar.gz введите:

tar -zxvf primerArhiva.tar.gz --wildcards '*.jpg'

Для .tar.bz2:

tar -jxvf primerArhiva.tar.bz2 --wildcards '*.jpg'

Как добавить файлы в архив .tar

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

Ниже приведён пример, в котором мы добавляем primer.jpg в существующий файл primerArhiva.tar.

tar -rvf primerArhiva.tar primer.jpg

Мы также можем добавить каталог. В примере ниже каталог image_dir был добавлен в primerArhiva.tar.

tar -rvf primerArhiva.tar image_dir

Вы не можете добавлять файлы или папки в архивы .tar.gz или .tar.bz2.

Как проверить архив .tar в Linux

Используя tar, вы также можете проверить целостность созданного архива. Вот один из способов, как это можно сделать:

tar -tvf primerArhiva.tar

Данная команда не применима к файлам .tar.gz или .tar.bz2.

Как проверить размер архива в Linux

Вы также можете проверить размер созданного архива. Размер будет указан в КБ (килобайтах).

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

tar -czf - primerArhiva.tar | wc -c
tar -czf - primerArhiva.tar.gz | wc -c
tar -czf - primerArhiva.tar.bz2 | wc -c

Итоги

Как видите, tar — действительно мощный инструмент, который должен знать каждый специалист, имеющий дело с терминалом Linux.

Мы надеемся, что эта статья помогла вам разобраться с особенностями использования tar в Linux! Вы также можете изучить подробную инструкцию по этой утилите, вызвав справку с помощью команды man tar. Увидимся в следующем руководстве!

Author
Автор

Olha L.

Ольга вже близько восьми років працює менеджером у сфері IT, три з яких вона займається SEO. Написання технічних завдань та інструкцій — один з її основних обов'язків. Її хобі — дізнаватися щось нове і створювати цікаві та корисні статті про сучасні технології, веброзробку, мови програмування, пошукову оптимізацію сайтів та багато іншого.