Практические примеры использования tar
Для создания и манипуляций с архивами в Linux-дистрибутивах используется утилита командной строки tar
. C помощью этой утилиты можно как извлечь данные из файлов tar
, pax
, cpio
, zip
, jar
, ar
и даже ISO
(образы cdrom), так и создать соотвествующие архивы.
Чаще всего используются следующие опции данной утилиты:
- -j — использовать сжатие архива с помощью bzip2;
- -v — запуск команды в режиме verbose — для просмотра прогресса выполнения;
- -f — указание имени архива;
- -W — верификация архива;
- -z — использовать сжатие архива с помощью gzip;
- -t — просмотр содержимого архива;
- -c — создание нового архива;
- -r — добавление или обновление файлов или каталогов в уже существующий архив;
- -u — аналог опции -r, но данные добавляются только если у них более поздняя дата модификации;
- -x — извлечение данных из архива.
В общем виде команда выглядит так tar -[ОПЦИИ] имя_архива архивируемые_файлы.
Рассмотрим несколько конкретных примеров.
1) Создание несжатого архива (с расширением .tar):
tar -cvf /path/to/foo.tar /path/to/foo/
Примечание. Можно использовать абсолютные пути к файлам, вместо относительных, как в примере выше.
2) Создание сжатого gzip-архива (с расширением .tgz):
tar -czvf /path/to/foo.tgz /path/to/foo/
3) Создание сжатого bzip2-архива (с расширением .bz2):
tar -cjvf /path/to/foo.tgz /path/to/foo/
4) Создание сжатого gzip-архива (с расширением .tgz) без файлов с расширением jpg, gif, png, wmv, flv, tar, gz, zip:
tar -czvf /path/to/foo.tgz –exclude=\*.{jpg,gif,png,wmv,flv,tar.gz,zip} /path/to/foo/.
5) Создание архива без добавления абсолютного пути в метаданные (может быть полезно при извлечении данных из архива):
tar -zcvf /path/to/foo.tgz -C/path/to/foo .
6) Создание архива всех файлов в текущей директории, начинающихся на i:
tar -cvf fullbackup.tar i*
7) Добавление файла в существующий архив:
tar –append –file=backup.tar anaconda-ks.cfg
8) Слияние содержимого двух архивов в один (добавляет содержимое fullbackup.tar в архив backup.tar):
tar –concatenate –file=backup.tar fullbackup.tar
9) Извлечение содержимого несжатого архива:
tar -xvf /path/to/foo.tar
10) Извлечение содержимого сжатого архива (формат .tgz):
tar -xzvf /path/to/foo.tgz
11) Извлечение содержимого сжатого архива (формат .bz2):
tar -xjvf /path/to/foo.bz2
12) Извлечение содержимого несжатого архива в определенный каталог на диске:
tar -xvf /path/to/foo.tar -C /path/to/destination/
13) Извлечение конкретного файла из архива:
tar –extract -vv –occurrence –file=./backup.tar anaconda-ks.cfg
14) Просмотр содержимого gzip-архива:
tar -ztvf /path/to/foo.tgz
15) Просмотр содержимого bzip2-архива:
tar -jtvf /path/to/foo.tgz
16) Сохранение символьных ссылок при создании архива (дополнительная опция -h):
tar -cvhf /path/to/foo.tar /path/to/foo/
Консольная утилита tar — одна из наиболее часто используемых в мире Linux — будет полезна при создании резервных копий, установке пакетов, обмене файлами, шифровании и дешифровке данных.
https://letsclearitup.com.ua/ubuntu/prakticheskie-primeryi-ispolzovaniya-tar.html