Распаковка файла tar - это важный навык для пользователей Linux и других систем на основе Unix. Хотя термин "распаковка" или "untar" часто используется, команды для выполнения этой задачи нет; вместо этого используется команда tar с различными параметрами.

Архивы tar (от Tape Archive) - это отличный способ упаковать множество файлов в один, что удобно для резервного копирования и передачи данных. В этой статье мы подробно рассмотрим, как правильно распаковать файлы tar, включая основные и продвинутые техники, чтобы вы уверенно пользовались этой командой.

Что такое файлы tar?

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

  • .tar: стандартный архив без сжатия.
  • .tar.gz или .tgz: архив, сжатый с помощью gzip; обеспечивает умеренное сжатие.
  • .tar.bz2 или .tbz: использует bzip2, предлагает лучшее сжатие по сравнению с gzip.
  • .tar.xz: сжатие с использованием xz, известное отличными коэффициентами сжатия.

Знание этих форматов поможет вам корректно распаковывать архивы.

Распаковка файла tar

Для распаковки файла tar в Linux используется команда tar. Если ваш архив не сжат, используйте следующую команду:

tar -xvf file.tar

Опции команды:

  • -x: распаковать файлы из архива.
  • -v: выводить список обрабатываемых файлов (необязательно, но обычно полезно).
  • -f: указывает на имя файла, которое следует за этой опцией.

Как видно на скриншоте выше, команда tar распаковала все файлы в текущую директорию и создала все подкаталоги, присутствующие в архиве.

Если у вас сжатый архив, проверьте его расширение и добавьте соответствующую опцию распаковки. Например:

  • Для файлов с расширением .tar.gz добавьте опцию -z:
tar -xzvf file.tar.gz
  • Для .tar.bz2 или .tar.tbz используйте опцию -j:
tar -xjvf file.tar.bz2
  • Для .tar.xz примените опцию -J:
tar -xJvf file.tar.xz

Распаковка в конкретную директорию

Если вы хотите распаковать содержимое в другую директорию, используйте опцию -C (или --directory). Например, чтобы распаковать файл в директорию /tmp:

tar -xvf example.tar -C /tmp/

Если файл сжат, добавьте соответствующую опцию:

tar -xjvf example.tar.bz2 -C /tmp/

Извлечение конкретного файла из архива

Если необходимо извлечь только один файл, добавьте его путь в конце команды. Например, чтобы получить файл example/file1.txt:

tar -xvf example.tar example/file1.txt

Если файл сжат, добавьте нужную опцию. Для .tar.gz:

tar -zxvf example.tar.gz example/file1.txt

Чтобы извлечь несколько файлов, перечислите их через пробел:

tar -xvf example.tar example/file1.txt example/subdir1/file2.txt

Вы также можете использовать шаблоны (wildcards) для извлечения:

tar -xvf example.tar --wildcards '*file1*'

Только не забудьте обернуть шаблон в кавычки, чтобы избежать ошибок.

Исключение определённых файлов

Вы можете исключить файлы при распаковке, используя опцию --exclude. Например, чтобы извлечь всё, кроме директории example/subdir2:

tar -xvf example.tar --exclude=example/subdir2

Можно использовать символ \* для исключения множества файлов:

tar -xvf example.tar --exclude="*file1*"

Просмотр содержимого архива

Если перед распаковкой вы хотите увидеть, что находится внутри архива, используйте опцию -t:

tar -tvf example.tar

Это выведет список файлов, аналогично команде ls.

Создание архива tar

Теперь, когда вы знаете, как распаковывать архивы, давайте рассмотрим процесс их создания. Чтобы создать новый архив, замените опцию -x на -c:

tar -cvf archive_name.tar /path/to/directory

Опции:

  • -c: создать новый архив.
  • -v: выводить список обрабатываемых файлов (необязательно).
  • -f: имя создаваемого архива.

Чтобы создать сжатый архив, используйте соответствующие параметры, как и при распаковке:

Для .tar.gz:

tar -czvf file.tar.gz /path/to/directory

Для .tar.bz2:

tar -cjvf file.tar.bz2 /path/to/directory

Для .tar.xz:

tar -cJvf file.tar.xz /path/to/directory

Создание алиаса для распаковки

Если вы хотите использовать команду untar, чтобы не запоминать, что -x означает распаковку, создайте алиас:

alias untar='tar -xvf'

Теперь вы сможете распаковывать архивы, используя более короткую команду:

untar example.tar

Чтобы сделать алиас постоянным, добавьте его в файл .bashrc и перезагрузите:

echo "alias untar='tar -xvf'" >> ~/.bashrcsource ~/.bashrc 

Теперь вы готовы выполнять основные операции с файлами tar. Эти архивы играют важную роль в администрировании Linux и часто встречаются в других Unix-подобных системах, таких как MacOS и BSD. Надеюсь, это руководство поможет вам уверенно работать с tar!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *