TAR в командной строке (shell). Сжатие и архивация файлов (Linux/Unix)

8 Окт

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

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

Вот некоторые опции, используемые с командой tar:
-c — создать новый архив
-f — в сочетании с опцией -c используется для создания файла tar из указанного файла; в сочетании с опцией -x используется для разархивирования указанного файла
-t — показать список файлов в файле tar
-v — показывать ход выполнения процесса архивирования
-x — извлечь файлы из архива
-z — сжать файл tar с помощью программы gzip
-j — сжать файл tar с помощью программы bzip2

Чтобы создать файл tar, наберите в командной строке:

tar -cvf имя_файла.tar каталог/файл

В этом примере имя_файла.tar — создаваемый архивный файл, каталог/файл — каталог или файл, который необходимо поместить в архивный файл.

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

tar -cvf имя_файла.tar /home/mine/work /home/mine/school

Эта команда поместит все файлы из каталогов work и school, принадлежащих каталогу /home/mine, в новый файл с названием имя_файла.tar в текущем каталоге.

Создать архив backups.tar.gz из директории /path/backup со всеми файлами и папками внутри, но Исключить из архивации директории с именами PATTERN1, PATTERN2

tar -czf backups.tar.gz --exclude=PATTERN1 --exclude=PATTERN2 /path/backup

Для просмотра содержимого файла наберите в командной строке:

tar -tvf имя_файла.tar

Чтобы извлечь содержимое файла tar, наберите:

tar -xvf имя_файла.tar

Эта команда не удаляет файл tar, а помещает копии разархивированного содержимого в текущий рабочий каталог, сохраняя всю структуру, содержавшуюся в архивном файле. Например, если файл tar содержит файл bar.txt в каталоге foo/, в результате разархивирования будет создан каталог foo/ в текущем каталоге и файл bar.txt внутри него.

Помните, что команда tar по умолчанию не сжимает файлы. Для создания архивного файла tar, сжатого при помощи bzip, используйте опцию -j:

tar -cjvf имя_файла.tbz файл

Файлам tar, сжатым при помощи bzip2, принято давать расширение .tbz или tar.bz2.

Указанная выше команда создает архивный сжатый файл имя_файла.tbz. При разархивировании файла имя_файла.tbz при помощи команды bunzip2 файл имя_файла.tbz удаляется и заменяется файлом имя_файла.tar.

Вы можете также извлечь содержимое и разархивировать файл bzip tar с помощью одной команды:

tar -xjvf имя_файла.tbz

Для создания tar файла, сжатого при помощи gzip, используйте опцию -z:

tar -czvf имя_файла.tgz файл

tar файлам, сжатым при помощи gzip, принято давать расширение .tgz.

Эта команда создает архивный файл имя_файла.tar и сжимает его в файл имя_файла.tgz (файл имя_файла.tar не сохраняется). Если вы декомпрессируете файл имя_файла.tgz с помощью команды gunzip, файл имя_файла.tgz удаляется и заменяется на файл имя_файла.tar.

Вы можете извлечь содержимое gzip tar файла одной командой:

tar -xzvf имя_файла.tgz

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.