Практические примеры использования tar
Oct 11, 2018 07:03 · 369 words · 2 minute read
Для создания и манипуляций с архивами в 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 -[ОПЦИИ] имя_архива архивируемые_файлы. Рассмотрим несколько конкретных примеров.
- Создание несжатого архива (с расширением
.tar):
tar -cvf /path/to/foo.tar /path/to/foo/
Примечание. Можно использовать абсолютные пути к файлам, вместо относительных, как в примере выше.
- Создание сжатого gzip-архива (с расширением
.tgz):
tar -czvf /path/to/foo.tgz /path/to/foo/
- Создание сжатого bzip2-архива (с расширением
.bz2):
tar -cjvf /path/to/foo.tgz /path/to/foo/
- Создание сжатого 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/.
- Создание архива без добавления абсолютного пути в метаданные (может быть полезно при извлечении данных из архива):
tar -zcvf /path/to/foo.tgz -C/path/to/foo .
- Создание архива всех файлов в текущей директории, начинающихся на
i:
tar -cvf fullbackup.tar i*
- Добавление файла в существующий архив:
tar --append --file=backup.tar anaconda-ks.cfg
- Слияние содержимого двух архивов в один (добавляет содержимое
fullbackup.tarв архивbackup.tar):
tar --concatenate --file=backup.tar fullbackup.tar
- Извлечение содержимого несжатого архива:
tar -xvf /path/to/foo.tar
- Извлечение содержимого сжатого архива (формат
.tgz):
tar -xzvf /path/to/foo.tgz
- Извлечение содержимого сжатого архива (формат
.bz2):
tar -xjvf /path/to/foo.bz2
- Извлечение содержимого несжатого архива в определенный каталог на диске:
tar -xvf /path/to/foo.tar -C /path/to/destination/
- Извлечение конкретного файла из архива:
tar --extract -vv --occurrence --file=./backup.tar anaconda-ks.cfg
- Просмотр содержимого gzip-архива:
tar -ztvf /path/to/foo.tgz
- Просмотр содержимого bzip2-архива:
tar -jtvf /path/to/foo.tgz
- Сохранение символьных ссылок при создании архива (дополнительная опция
-h):
tar -cvhf /path/to/foo.tar /path/to/foo/
Консольная утилита tar - одна из наиболее часто используемых в мире Linux - будет полезна при создании резервных копий, установке пакетов, обмене файлами, шифровании и дешифровке данных.