Работа с архивами в Linux
Иногда бывает необходимо создать архив с резервной копией данных, для этого достаточно воспользоваться утилитой tar. tar используется для создания архива, то есть объединяет файлы и/или директории в один общий файл. Важно знать, что он самостоятельно не использует сжатие, а просто создает архив. После этого полученный файл *.tar сжимается архиватором, например, gzip, сжатые архивы обычно имеют расширение .tar.gz или .tar.bz2. Или воспользоватся другими архиваторами, например zip, который может одновременно и архивировать, и сжимать файлы.
tar создание и распаковка архива:
- tar -cvf archive.tar /full/path — создать .tar
- tar -xvf archive.tar - извлечь содержимое архива .tar в текущую директорию
- tar -xvf archive.tar -С /full/path - извлечь содержимое архива .tar в указанный каталог
- tar -xvf archive.tar file1 dir/file2 - извлечь из архива .tar файлы file1 и dir/file2
- tar -cvjf archive.tar.bz2 /full/path - создать .tar.bz2 архив
- tar -xvjf archive.tar.bz2 - извлечь содержимое архива .tar.bz2 в текущую директорию
- tar -cvzf archive.tar.gz /full/path - создать .tar.gz архив
- tar -xvzf archive.tar.gz - извлечь содержимое архива .tar.gz в текущую директорию
Опции команды tar:
- -c, --create - создать новый архив
- -C, --directory - распаковать в указанный каталог
- -z, --gzip – используется для создания/распаковки *.tar.gz файлов
- -j, --bzip2 - используется для создания/распаковки *.tar.bz2 файлов
- -x, --extract - извлечь файлы из архива
- -v, --verbose - подробный вывод информации.
- -f, --file - является обязательной опцией. Эта опция записывает в файл.
- -t, --list - показать содержимое архива
- -M, --multi-volume - создать/показать/распаковать многотомный архив
- -A, --catenate - склеить файлы tar в один архив
- -d, --diff - найти различия между архивом и файловой системой
- --exclude - исключить файлы или каталоги
- --delete - удалить из архива
- -r, --append - добавить файлы в конец архива
- -u, --update - добавить только новые версии файлов файлов
Пример создания архива. Архивируем все файлы и папки в директории /var/log/, исключим каталог /var/log/http/:
tar --exclude='/var/log/http/*' -cvzf archive.tar.gz /var/log/*
zip - создание и распаковка архива:
- zip -r archive /full/path - создает архив archive.zip с содержимым каталога /full/path.
- unzip archive.zip -d /full/path - распаковать архив archive.zip в папку /full/path
Опции команды zip:
- -r - архивировать рекурсивно
- -9 - задаёт степень сжатия от 1 до 9. 0 - без сжатия
- -x "/path" - опция, позволяющая исключить указанную папку или файл из архива
- -z - добавить комментарий для архива
- -e - задать пароль на архив
- -v - подробный вывод информации.
Пример создания архива. Архивируем все файлы и папки в директории /var/log/ и /var/spool/, исключим каталог /var/log/http/:
zip -r -9 archive.zip /var/log/* /var/spool/* -x "/var/log/http/*"
Комментарии (0)