18 примеров команды Tar в Linux

Linux “tar” означает ленточный архив, который используется большим количеством системных администраторов Linux/Unix для работы с резервным копированием на ленточный накопитель в Linux.

Команда tar в Linux используется для создания сжатого архивного файла, обычно называемого tarball или tar, gzip и bzip в Linux.

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

tar – A Linux Archiving Utility

В этой статье мы рассмотрим и обсудим различные примеры команды 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/
Create a Tar Archive File

Обсудим каждую опцию, используемую в приведенной выше команде 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
Create a Compressed Tar Archive

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
Create a tar.bz2 file Linux

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
View Tar Contents Without Extracting

8. Просмотр содержимого архива tar.gz

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

tar -tvf MyImages-17-11-2023.tar.gz
View Tar.gz Contents Without Extracting

9. Печать содержимого архива tar.bz2

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

tar -tvf Phpfiles-org.tar.bz2
View Tar Contents Without Extracting

10. Извлечение одного файла из архива

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

tar -xvf Phpfiles-org.tar.bz2 home/tecmint/php/wp-cron.php
Extract File From Tar Archive

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 на несколько частей или блоков, просто прочтите эту статью:

Если мы пропустили какие-либо примеры, пожалуйста, поделитесь ими с нами через форму комментариев, и не забудьте поделиться этой статьей с друзьями. Это лучший способ сказать спасибо…

Source:
https://www.tecmint.com/tar-command-examples-linux/