Ленточный архив или tar — это формат файла для создания файлов и каталогов в архиве с сохранением информации файловой системы, такой как разрешения. Мы можем использовать команду tar для создания архивов tar, извлечения архивов, просмотра файлов и каталогов, хранящихся в архивах, и добавления файлов в существующий архив. Tar — это простая, но мощная утилита для архивирования.
Это руководство проведет вас через создание и распаковку архивов tar на вашем компьютере с Linux.
- Установить Tar
- Debian / Ubuntu:
- Arch/Manjaro:
- REHL / CentOS:
- Форматы файлов Tar
- Основное использование Tar
- Как создать простой архив
- Как таргетировать каталог
- Как показать содержимое tar-архива
- Как распаковать архив tar
- Как извлечь конкретный файл
- Как распаковать в определенный каталог
- Как добавить файлы в архив
- Как удалить файлы из архива
- Заключение
Установить Tar
В большинстве дистрибутивов Linux у вас будет предварительно установлен tar. Однако, если вы этого не сделаете. В этом случае используйте команды:
Debian / Ubuntu:
Используйте менеджер пакетов apt как:
$ sudo apt-get install tar
Arch/Manjaro:
В дистрибутивах на основе Arch:
$ sudo pacman -S tar
REHL / CentOS:
В REHL Family используйте yum как:
$ sudo yum install tar
Форматы файлов Tar
Tar поддерживает несжатые и сжатые архивы. Общие расширения архивов tar включают:
- .tar- необработанный tar-файл.
- .tar.gz,.tgz,.tar.gzip- tar-архив Gzip.
- .tar.bz2,.tbz,.tbz2,.tar.bzip2- сжатый tar-архив.
- .tar.Z,.Z,.taz- сжатие tar-архива.
Основное использование Tar
Использование tar в командной строке принимает общий синтаксис:
$ tar [OPERATIONS] [OPTIONS] archive_name files/directories_to_archive
Мы начинаем с вызова утилиты tar, а затем выполняем операцию. Операции могут включать:
- -c- создать архив
- -x- распаковать архив
- -t- показывает файлы и каталоги в архиве.
Затем мы передаем параметры для изменения поведения утилиты. Эти параметры могут быть -v для подробного вывода или -f для имени архива, -z для фильтрации архива через gzip и т.д.
Наконец, мы передаем имя архива, а также файлы и каталоги, которые нужно добавить в архив.
Как создать простой архив
Как мы упоминали выше, tar поддерживает ряд сжатия. Чтобы указать тип создаваемого архива, добавьте желаемое расширение к имени файла. Например, чтобы создать архив tar в формате gzip, введите имя файла myarchive.tar.gz
Используйте команду ниже, чтобы создать архив с файлами: file1, file2, file3, file4
$ sudo tar -c -f myarchive.tar file1, file2, file3
Параметр -c указывает tar создать новый архив. Флаг -f указывает имя файла.
Как таргетировать каталог
Чтобы создать tar-архив в каталоге со всеми файлами и подкаталогами, передайте путь к каталогу. Оттуда tar рекурсивно находит все файлы и каталоги и добавляет их в архив.
Пример команды:
$ sudo tar -c -f -z -v gzipped.tar.gz /home/ubuntu
Вы можете подавить рекурсивное архивирование каталогов с помощью флага —no-recursion.
Как показать содержимое tar-архива
Чтобы просмотреть файлы и каталоги в tar-архиве, мы используем параметр -t. Например:
$ tar -t -f gzipped.tar.gz
Как распаковать архив tar
Чтобы распаковать tar-архив, используйте флаг операции -x для распаковки. Вы можете передать любой формат сжатия tar, такой как gzip, lzma, bz2 и другие.
Самая распространенная команда для распаковки файлов tar-архива:
$ tar -xvf archive.tar.[extension]
Чтобы распаковать простой tar-архив:
$ tar -xvf myarchive.tar
Команда извлечет содержимое архива в текущий каталог.
Как извлечь конкретный файл
В некоторых случаях вам может потребоваться получить определенные файлы из архива. Для этого передайте в команду tar имена файлов, разделенные пробелом.
Например:
$ tar -xvf sample.wma info.txt backup.log
Как распаковать в определенный каталог
Как уже упоминалось, tar извлекает архив в текущий рабочий каталог. Чтобы изменить каталог, в который извлекаются заархивированные файлы, используйте флаг -C как:
$ mkdir ~/myarchive && tar -xvf myarchive.tar -C /home/ubuntu/myarchive
Как добавить файлы в архив
Чтобы добавить файлы в существующий архив, мы используем -r fo append, за которым следует имя архива и файлы, которые нужно добавить.
Например:
$ tar -rvf myarchive file1 file2 file3
Как удалить файлы из архива
Используя параметр —delete, мы можем удалить определенные файлы из архива как:
$ tar -xvf —delete myarchive.tar file1 file2 file3
Заключение
Tar — ценная утилита в Linux, большинство пакетов заархивировано в формате tar, и полезно знать, как использовать этот инструмент.