У меня есть структура каталогов, которая выглядит примерно так:
/var/www/website/index.php
/var/www/website/home.php
/var/www/website/whatever.text
/var/www/website/.htaccess
/var/www/website/images/
/var/www/website/images/image1.jpg
/var/www/website/images/image2.jpg
Я хочу рекурсивно использовать tar для каталога веб-сайта, но не хочу включать родительскую структуру. Если я сделаю это:
tar -zcvf /tmp/mytar.tar.gz /var/www/website/*
Тогда все файлы будут иметь /var/www/website/
родительская структура в tar-файле. Единственный способ делать то, что хочу, - это:
cd /var/www/website
tar -zcvf /tmp/mytar.tar.gz *
Таким образом, в файле tar отсутствует структура родительских каталогов.
Возможно ли выполнить то, что мне нужно, без необходимости cd
в каталог первым?
GNU tar имеет -C
вариант для этого.
-C, --directory=DIR
change to directory DIR
Итак, вы можете сделать что-то вроде:
tar -C /var/www/website -zcvf /tmp/mytar.tar.gz .
Untarring (со временем вы это сделаете) то же самое:
tar -C /var/www/website -zxvf /tmp/mytar.tar.gz