Примеры Использования Команды 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. Увидимся в следующем руководстве!