VPS
28 октября, 2020
4мин. чтения
содержание
VPS
28 октября, 2020
4мин. чтения
Tar — одна из наиболее широко используемых команд Linux для сжатия. Использование tar даёт много преимуществ, за что её и любят специалисты, имеющие дело с командной строкой Linux. Дальше мы поговорим об этих преимуществах, а также рассмотрим основные примеры использования утилиты.
Tar расшифровывается как «Tape archive» и используется для сжатия файлов и папок.
В большинстве случаев результатом сжатия с использованием утилиты tar является файл с расширением .tar. Последующие сжатия выполняются с помощью gzip, в результате получаем файл .tar.gz.
С помощью tar вы можете сжимать и распаковывать файлы. Tar имеет много опций, но некоторые из них вам, возможно, придётся запомнить.
Преимущества tar:
Теперь, когда мы разобрались с преимуществами tar, стоит ответить на ещё один вопрос: при каких сценариях используется эта утилита?
Давайте узнаем, какие основные операции вы можете выполнять с помощью tar. Но прежде чем мы начнём, вам нужно будет подключиться к вашему VPS-серверу по SSH. Вот руководство, которое вам поможет!
Вы можете сжимать как файлы, так и папки. В обоих случаях в результате вы получите архив с расширением .tar. Пример создания такого архива:
tar -cvf primerArhiva.tar /home/primerArhiva
Здесь /home/primerArhiva — это каталог, который необходимо сжать, в результате чего мы получим primerArhiva.tar.
В команде используются параметры –cvf, которые реализуют следующие модификации:
Если вы хотите добиться ещё большего сжатия, создайте архив .tar.gz. Вот пример:
tar -cvzf primerArhiva.tar.gz /home/primerArhiva
Дополнительная опция z представляет сжатие gzip. Как вариант, вы также можете создать архив .tgz, похожий на tar.gz. Например:
tar -cvzf primerArhiva.tgz /home/primerArhiva
Файлы архива .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 также можно использовать для извлечения файлов. Следующая команда извлечет файлы в текущий каталог:
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
После создания архива вы можете просмотреть его содержимое с помощью подобной команды:
tar -tvf primerArhiva.tar
Команда выведет полный список файлов с отметками времени и разрешениями. Используйте аналогичную команду для .tar.gz:
tar -tvf primerArhiva.tar.gz
Такой вариант подходит и для файлов .tar.bz2:
tar -tvf primerArhiva.tar.bz2
Вы можете извлечь необходимый вам файл, не распаковывая остальные файлы архива. Один из таких примеров показан ниже:
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 -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'
Вы можете не только извлекать, но и добавлять выбранные файлы в существующий архив. Для этого мы будем использовать параметр -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, вы также можете проверить целостность созданного архива. Вот один из способов, как это можно сделать:
tar -tvf primerArhiva.tar
Данная команда не применима к файлам .tar.gz или .tar.bz2.
Вы также можете проверить размер созданного архива. Размер будет указан в КБ (килобайтах).
Ниже приведены примеры команды с разными архивными файлами:
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. Увидимся в следующем руководстве!
Вы читаете статью Примеры Использования Команды Tar в Linux. Все материалы на сайте Host Biz — топ рейтинг написаны специально для Вас и мы рады если Вам нравиться наш сайт.