Сервер в кармане, или просто о сложном!

главная - Статьи - Linux, FreeBSD

Шпаргалка tar gz

Теги: Linux

Для работы с архивами (создание / просмотр / извлечение / др.) в Linux самая популярная (по сути, единственная популярная) программа - tar. Как с ней работать? man tar или читайте ниже!

Как создать архив tar.gz

Не все обращают внимание на то, что архив - это не обязательно сжатый (zip, rar и др.) архив. Архив - это объединение файлов. А для оптимизации хранения его можно сжимать. Тот же WinRAR или 7zip тоже позволяют создавать несжатые архивы. Это может быть полезным для скорости создания или будущей распаковки архива. Например, сотни тысяч маленьких файлов могут сжиматься дольше необходимого, а уже сжатые данные (картинки jpeg или png, особенно в огромном количестве) просто не дадут ощутимого уменьшения объема архива при существенной нагрузке на процессор при создании архива, а также потом при распаковке. Поэтому для сжатия архива это надо явным образом указывать с помощью опции -z.

Формат команды:
tar [ключи] [куда_архивируем] [что_архивируем]

Ключи можно указывать с дефисом или без него. Но нагляднее все же с дефисом.

Пример:

tar -zcvf /backup/archive.tar.gz /var/www/test

Ключи:
-z - сжимать архив с помощью gzip. Распаковать можно будет и с помощью WinRAR, 7zip и др.
-c - режим создания архива (create).
-v - расширенная информация (verbose)
-f /backup/archive.tar.gz - задаем имя архива. Имя архива носит условный характер, вам никто не запрещает использовать любое имя, без расширений .tar, .tar.gz. Для вашего удобства все же лучше задавать имя архива, отражающего суть (.tar - просто архив, .tar.gz - сжатый gzip-ом архив и так далее).

Обратите внимание на порядок опций - опция "f" стоит последней, т.к. она задает имя файла архива (f /backup/archive.tar.gz).

Как просмотреть архив tar

Для этого используется опция -t вместе с опцией -f:

$ tar -tf /backup/archive.tar.gz
1.txt
2.txt
3.txt

Добавим опцию -v для просмотра подробностей:

$ tar -tfv /backup/archive.tar.gz
-rw-rw-r-- user/user       4 2016-12-14 11:31 1.txt
-rw-rw-r-- user/user       7 2016-12-14 11:31 2.txt
-rw-rw-r-- user/user      10 2016-12-14 11:31 3.txt

Как извлечь файлы из архива tar

Для извлечения данных из архива служит опция -x (extract):

$ tar -xf archive.tar.gz

Также комбинируется с опцией -v:

$ tar -xvf archive.tar.gz
1.txt
2.txt
3.txt

При распаковке архива файлы из него извлекаются в текущую директорию (проверьте командой pwd). Чтобы извлечь файлы из архива в другое место используйте опцию -C /path/to/extract (change to directory):

$ tar -xvf archive.tar.gz -C /var/extracted_data

Множество других возможностей и разнообразных опций читайте на всех мониторах страны в man tar!

Авторизуйтесь для добавления комментариев!


    забыли пароль?    новый пользователь?