Linux “tar” означает ленточный архив, который используется большим количеством системных администраторов Linux/Unix для работы с резервным копированием на ленточный накопитель в Linux.
Команда tar в Linux используется для создания сжатого архивного файла, обычно называемого tarball или tar, gzip и bzip в Linux.
Tar – самая широко используемая команда для создания сжатых архивных файлов, которые легко перемещаются с одного диска на другой или с одной машины на другую.

В этой статье мы рассмотрим и обсудим различные примеры команды tar, включая создание архивных файлов с использованием (tar, tar.gz и tar.bz2) сжатия, извлечение архивных файлов, извлечение одного файла, просмотр содержимого файла, проверку файла, добавление файлов или каталогов в существующий архивный файл, оценку размера архивного файла tar и т. д.
Основная цель этого руководства – предоставить различные примеры команды tar, которые могут быть полезны для вас, чтобы понять и стать экспертом в манипулировании архивами tar.
Содержание
1. Создание архивного файла Tar
Приведенный ниже пример команды tar создаст архивный файл tar с именем tecmint-17-11-2023.tar
для каталога /home/tecmint в текущем рабочем каталоге.
Посмотрите пример использования команды tar в действии.
tar -cvf tecmint-17-11-2023.tar /home/tecmint/

Обсудим каждую опцию, используемую в приведенной выше команде tar.
c
– Creates a new .tar archive file.v
– Verbosely show the .tar file progress.f
– File name type of the archive file.
2. Создание архива Tar с сжатием
Для создания сжатого файла архива мы используем опцию 'z'
(сжать архив с использованием gzip). Например, команда ниже сгенерирует сжатый файл с именем 'MyImages-17-11-2023.tar.gz'
для каталога ‘/home/MyImages‘. (Примечание: 'tar.gz'
и 'tgz'
– взаимозаменяемые термины).
tar cvzf MyImages-17-11-2023.tar.gz /home/tecmint/MyImages OR tar cvzf MyImages-17-11-2023.tgz /home/tecmint/MyImages

3. Создание файла tar.bz2 в Linux
Функция bz2 сжимает и создает архивный файл, который меньше по размеру по сравнению с gzip. Однако метод сжатия bz2 требует больше времени как на сжатие, так и на разжатие, в то время как gzip быстрее в обоих процессах.
Для создания высокосжатого нового архива tar с именем Phpfiles-org.tar.bz2, объединив все файлы и подкаталоги в каталоге /home/php, используйте опцию -j
, которая указывает tar использовать алгоритм сжатия bzip2, что приводит к уменьшению размера файла для эффективного хранения и передачи.
Примечание: tar.bz2 и tbz – похожие термины, оба относятся к tb2.
tar cvfj Phpfiles-org.tar.bz2 /home/tecmint/php OR tar cvfj Phpfiles-org.tar.tbz /home/tecmint/php OR tar cvfj Phpfiles-org.tar.tb2 /home/tecmint/php

4. Извлечение архива Tar
Чтобы разархивировать или извлечь файл tar, просто выполните следующую команду, используя опцию 'x'
(extract). Например, следующая команда разархивирует файл с именем ‘tecmint-17-11-2023.tar‘ в текущем рабочем каталоге.
tar -xvf tecmint-17-11-2023.tar
Если вы хотите разархивировать в другом каталоге, используйте опцию -C
(указанный каталог).
tar -xvf tecmint-17-11-2023.tar -C /home/tecmint/
5. Извлечение сжатого архива tar.gz
Чтобы извлечь содержимое сжатого архива tar с именем “MyImages-17-11-2023.tar.gz“, используйте следующую команду.
tar -xvf MyImages-17-11-2023.tar.gz
Если вы хотите извлечь в другой каталог, просто используйте опцию -C
, которая извлечет файлы в указанный каталог, как показано.
tar -xvf MyImages-17-11-2023.tar.gz -C /home/tecmint/
6. Извлечение архива tar.bz2
Чтобы разархивировать сильно сжатый файл tar.bz2, просто используйте следующую команду, которая извлечет все файлы из архивного файла.
tar -xvf Phpfiles-org.tar.bz2
7. Просмотр содержимого архива tar
Чтобы просмотреть содержимое файла архива tar, просто выполните следующую команду с опцией -t
(список содержимого), которая отобразит подробный список файлов и каталогов, содержащихся в ‘tecmint-17-11-2023.tar‘ архиве.
tar -tvf tecmint-17-11-2023.tar

8. Просмотр содержимого архива tar.gz
Следующая команда отобразит подробный список файлов и каталогов, содержащихся в архиве «MyImages-17-11-2023.tar.gz».
tar -tvf MyImages-17-11-2023.tar.gz

9. Печать содержимого архива tar.bz2
Следующая команда предоставит обзор содержимого архива «Phpfiles-org.tar.bz2» без извлечения файлов.
tar -tvf Phpfiles-org.tar.bz2

10. Извлечение одного файла из архива
Для извлечения одного файла с именем wp-cron.php
из архива Phpfiles-org.tar.bz2 используйте следующую команду. Убедитесь, что указываете правильный путь к файлу, который вы хотите извлечь.
tar -xvf Phpfiles-org.tar.bz2 home/tecmint/php/wp-cron.php

11. Извлечение нескольких файлов из архива
Чтобы извлечь или разархивировать несколько файлов из архивов tar
, tar.gz
и tar.bz2
, используйте следующую команду, которая будет извлекать файлы из указанных архивов.
tar -xvf tecmint-17-11-2023.tar "file1" "file2" tar -zxvf MyImages-17-11-2023.tar.gz "file1" "file2" tar -jxvf Phpfiles-org.tar.bz2 "file1" "file2"
12. Извлечение группы файлов с использованием подстановочного символа в Linux
Для извлечения группы файлов мы используем извлечение на основе шаблонов. Например, чтобы извлечь группу всех файлов, чей шаблон начинается с .php
из архивных файлов tar
, tar.gz
и tar.bz2
, используйте:
tar -xvf Phpfiles-org.tar --wildcards '*.php' tar -zxvf Phpfiles-org.tar.gz --wildcards '*.php' tar -jxvf Phpfiles-org.tar.bz2 --wildcards '*.php'
13. Добавление файлов в существующий архив
Для добавления файлов или каталогов в существующие архивные файлы tar
, tar.gz
и tar.bz2
используйте опцию -r
, которая добавит файлы в существующий архивный файл.
tar -rvf tecmint-14-09-12.tar xyz.txt tar -rvf MyImages-14-09-12.tar.gz xyz.txt tar -rvf Phpfiles-org.tar.bz2 xyz.txt
14. Проверка целостности архивного файла tar
Следующая команда отобразит подробный список файлов и каталогов, содержащихся в указанном архивном файле, что позволит визуально проверить содержимое архива. Если архив поврежден или неполный, этот процесс проверки может выявить ошибки во время перечисления.
tar -tvf Phpfiles-org.tar.bz2
15. Проверка размера архивного файла tar
Чтобы проверить размер любого архивного файла tar
, tar.gz
и tar.bz2
, используйте следующую команду, которая отобразит размер архивного файла в килобайтах (KB).
tar -czf - tecmint-14-09-12.tar xyz.txt | wc -c tar -czf - MyImages-14-09-12.tar.gz xyz.txt | wc -c tar -czf - Phpfiles-org.tar.bz2 xyz.txt | wc -c
16. Исключение файлов при создании архива tar
Чтобы исключить определенные файлы и каталоги при создании архивного файла tar, вы можете использовать следующую команду с опцией --exclude
, которая исключит файлы и каталоги при создании архивного файла tar, как показано.
tar --exclude='file1.txt' -zcvf backup.tar.gz /home/tecmint tar --exclude='/home/tecmint/uploads' -zcvf backup.tar.gz /home/tecmint
В приведенной выше команде мы исключили файл «file1.txt» и каталог «uploads» из папки /home/tecmint.
Чтобы исключить файлы с определенными расширениями файлов (.txt)
при создании архивного файла tar, используйте:
tar --exclude='*.txt' -zcvf backup.tar.gz /home/tecmint
17. Удаление файлов из архива tar
Следующая команда tar удалит файл или каталог из уже созданного архивного файла tar с использованием опции --delete
, как показано.
tar --delete -f backup.tar.gz file1.txt tar --delete -f backup.tar.gz '/home/tecmint/uploads'
18. Извлечение файлов с расширением из архива tar
Следующая команда tar будет извлекать только файлы с определенным расширением .png
из архивного файла tar с использованием опции --wildcards
, как показано.
tar -xvf backup.tar.gz --wildcards '*.png'
19. Использование команды tar и параметров
Понимание различных параметров и шаблонов использования команды «tar» необходимо для эффективного архивирования, сжатия и извлечения файлов.
-c
– создание архивного файла.-x
– извлечение архивного файла.-v
– показать прогресс архивирования.-f
– имя файла архива.-t
– просмотр содержимого архива.-u
– архивирует и добавляет к существующему файлу архива.-j
– фильтрует архив через bzip2.-z
– фильтрует архив через gzip.-r
– добавляет или обновляет файлы или каталоги в существующих файлах архива.-W
– Проверяет файл архива.-A
– конкатенирует файлы архива.--wildcards
– Указывает шаблоны в команде tar UNIX.--exclude
– исключает файлы и каталоги при создании архива.--delete
– удаляет файл и каталог из архива.
Это все на данный момент, надеюсь, приведенных выше примеров команды tar достаточно для вас для изучения, а для получения дополнительной информации используйте команду man tar.
# man tar
Если вам нужно разбить какой-либо большой архивный файл tar на несколько частей или блоков, просто прочтите эту статью:
- Как разделить файл tar на несколько файлов определенного размера
- Как скачать и извлечь файлы tar одной командой
Если мы пропустили какие-либо примеры, пожалуйста, поделитесь ими с нами через форму комментариев, и не забудьте поделиться этой статьей с друзьями. Это лучший способ сказать спасибо…