Распаковка файла 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!
