Книга: Linux глазами хакера

13.5.2. tar

13.5.2. tar

Копирование по одному файлу не очень удобно. Лучше, когда все находится под одной крышей. В Linux есть утилита, которая собирает все файлы в один. Этот процесс называют архивированием, но вы должны учитывать, что tar не сжимает файлы. Если вы объединяете файлы общим размером в 2 Мбайта, то архив будет иметь размер чуть больше (размер всех файлов плюс заголовок tar).

Преимущество сборки целой директории в один файл состоит в том, что им проще потом управлять и сжимать специализированными программами.

Для архивирования, как минимум, нужно выполнить команду:

tar cf архив.tar директория

Здесь у нас два параметра:

c — указывает на необходимость создания архива;

f — назначает архивный файл или устройство (по умолчанию используется /dev/rmt0).

Итак, для архивирования директории /home выполняем следующую команду:

tar cf backup.tar /home

При использовании параметров cf файлы в архив попадают с сохранением пути. Если распаковать созданный нами чуть выше архив, то в результате в текущем каталоге будет создана папка /home, а в ней уже будут располагаться все пользовательские директории. Например, если разархивировать из директории /home, то папки пользователей окажутся в /home/home, а если находится в /etc, то пользователи увидят свои директории в /etc/home.

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

cd /
tar xf /home/backup.tar

В данном случае мы из корневого каталога разархивируем резервную копию, которая находится в файле /home/backup.tar.

Помимо этого, для архивных операций могут пригодиться следующие ключи утилиты tar:

v — вывести на экран информацию об архивируемом (или распаковываемом) в данный момент файле;

z — найти и обработать при распаковке gzip-архивы;

? p — разархивировать всю информацию о безопасности;

d — найти отличия между архивом и файлом в системе;

t — просмотреть содержимое архива;

u — обновить файлы в архиве, которые были изменены;

n date — добавить в архив только те файлы, которые изменены позже даты, указанной в параметре date.

? P — не удалять первый символ "/". В этом случае, откуда бы вы не распаковывали, файлы попадут на свое родное место.

С помощью утилиты tar можно архивировать сразу несколько директорий. Следующая команда помещает в архив /home и /etc:

tar cf backup.tar /home /etc

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

tar tvf backup.tar

В ответ на это, на экране будут показаны все файлы и директории архива, их права доступа и владельцы. Результат можно увидеть в листинге 13.1.

Оглавление книги


Генерация: 0.100. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз