Использование tar в Unix/Linux

Использование tar в Unix/Linux

 

tar — является одним из инструментов, которые мы используем часто для создания бекапов. В своей теме «Использование tar в Unix/Linux» приведу примеры использования tar в Unix/Linux.

Опции.

Для создания архива:

-c
 Создать архив.

-f
Создайте файл с выходом (в противном случае он идет к терминалу).

-j
Использовать сжатие bzip2.

-J
Использовать сжатие xz.

—lzma
Использовать сжатие lzma.

-z
Использовать сжатие gzip.

-v
Вывод в терминал что происходит (действия).

Для извлечения:

-x
Извлечение архива.

-v
Вывод в терминал что происходит (действия).

-p
Сохранение прав доступа при извлечении (игнорирует маску).

-k
Не перезаписывать существующие файлы.

-m
Не восстанавливать время модификации.

-O
Записать записи»entries» на stdout, не восстановит диск.

Другие опции:

-t
Получить оглавление (содержание) из архива.

-d
Разница архива и файловой системы.

-b
Использовать #512 байт записи в I/O блоках.

-W
Опция служит для проверки архива.

-w
Итерактивный режим.

-r
Служит для добавления файлов в архив (уже созданный).

wildcards
Специальный символ для команды tar в unix .

Примеры.

Создать архив каталога:

# tar cf directory.tar directory/

Создать архив с кучей файлов (с выбранных файлов):

# tar cf directory.tar file1 file2 file3

Запаковать tar-ром только .mp3 файлы в текущем каталоге с использованием BZIP сжатие и показывать все что происходит на консоль:

# tar -cvf my_mp3_collection.tar ./*.mp3

Создать архив домашнего каталога/home/captain/ и сохраняя разрешения:

# tar cvpf captain.tar /home/captain/

Создать архив каталога /etc/ , но исключать каталог apache2:

# tar cvf backup_etc_without_apache_folder.tar –exclude='/etc/apache2/'

Используя сжатие

Создать архив сжатый с bzip2 и с выводом на экран всех действий:

# tar cjvf public_html.tar.bz2 /home/captain/public_html

Создать архив сжатый с gzip и с выводом на экран всех действий:

# tar czvf public_html.tar.gz /home/captain/public_html

Список содержимого в архиве

Просмотреть содержимое архива можно так:

# tar -tvf WP.zip 
drwxrwxrwx 0 0 0 0 May 7 04:45 wp-admin/
-rwxrwxrwx 0 0 0 0 May 7 02:03 wp-admin/about.php
-rwxrwxrwx 0 0 0 0 Apr 13 00:29 wp-admin/admin-ajax.php
[...]

Экстрагирование архивов (распаковка). 

Распаковать архив каталогов, используя параметр «-v» с уровнем 1:

# tar xvf archive_name.tar.bz2

Распаковка файлов в указанный каталог:

# tar -xvf public_html.tar -C /home/captain/public_html/

Извлечь только файл PASSWD из архива archive_etc.tar.bz2:

# tar xvf archive_etc.tar.bz2 passwd

или

# tar --extract --file=archive_name.tar my_clean_files.sh

Извлечь только каталог postfix из архива archive_etc.tar.bz2:

# tar xvf archive_etc.tar.bz2 /etc/postfix/

Извлечь только файлы с розширением php из архива:

# tar -xvf php_archive.tar --wildcards '*.php'

или

# tar -zxvf my_archive.tar.gz --wildcards '*.php'

или

# tar -jxvf name_of_archive.tar.bz2 --wildcards '*.php'

Добавление в архив

Чтобы добавить файлы или каталоги в существующей tar архив файлы мы используем опцию r:

# tar -rvf linux-notes.tar test.txt

или

# tar -rvflinux-notes.tar.bz2 php

Проверка архива.

Для проверки содержимого архива, используйте опцию -W как показано в примере ниже:

# tar tvfW linux-notes.tar

Проверка размера архива файлов tar, tar.gz и tar.bz2 

# tar -czf - test.tar | wc -c
5435436456

или

# tar -czf - test.tar.gz | wc -c
164564

или

# tar -czf - test.tar.bz2 | wc -c
8540

Определение различий (Diffing).

отличить архив от файловой системы

# tar df directory.tar.bz2

Для более детальной помощи, можно использовать:

$ tar --help

А на этом, статья «Использование tar в Unix/Linux» завершена.

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

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

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