в centos, debian, ubuntu

Практические примеры использования 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 — будет полезна при создании резервных копий, установке пакетов, обмене файлами, шифровании и дешифровке данных.

Добавить комментарий