Здравствуйте! Подскажите, как правильно распаковать архив в нужную директорию, с извлечением всех файлов в эту директорию?
Пример.
Я скачал архив myarchive.tar.gz, распаковал его:
[console]tar -xzvf ./myarchive.tar.gz[/console]
После распаковки структура каталога такая: myarchive/а_тут_куча_файлов_движок_форума
Переместить все в директорию веб сервера, в папку (домен) не вопрос:
[console]mv ./myarchive /var/www/mydomain[/console]
Но перемещается вся папка. И вот тут у меня загвоздка. Я никак не могу найти решения, как переместить в директорию /var/www/mydomain то, что находится в папке myarchive (только файлы движка, чтобы было так: /var/www/mydomain/файлы_движка_форума).
Можно конечно и через ftp, но очень интересно как это можно сделать одной командой, после распаковки архива.
Спасибо.
Распаковать архив tar.gz
mv ./myarchive /var/www/mydomain
А так:
[console]mv ./myarchive/* /var/www/mydomain[/console]
Проблема, IMHO, в «неправильном» создании архива. Следовало перейти в директорию, предназначенную для архивирования, заархивировать и тогда извлечь архив можно будет одной командой.
То есть
— создаём архив
[console]
cd /var/www/mydomain_old
tar cpzvf myarchive.tar.gz . # Точка в конце команды важна!
[/console]
— разархивирование
[console]
tar xpvf myarchive.tar.gz -C /var/www/mydomain_new
[/console]
Проблема, IMHO, в «неправильном» создании архива. Следовало перейти в директорию, предназначенную для архивирования, заархивировать и тогда извлечь архив можно будет одной командой.
Тут ситуация в следующем. Что если архивировал не я, а скачал его (wget)? Или тот, кто архивировал и разместил этот архив у себя на ресурсе, должен все правильно упаковать?
Сейчас попробую предложенный Вами вариант.
mv ./myarchive /var/www/mydomain
Наверное, всё же так:
[console]
cd ./myarchive
mv * /var/www/mydomain/
[/console]
А так:
[console]mv ./myarchive/* /var/www/mydomain[/console]
Спасибо огромное. Все получилось и, как оказалось, намного проще (команда), чем я пытался выполнить.
С утра сижу с этим вопросом.
А можно еще одно уточнение. Какую команду нужно выполнить, чтобы залить файлы в эту же директорию (/var/www/mydomain) с заменой?
Какую команду нужно выполнить, чтобы залить файлы в эту же директорию (/var/www/mydomain) с заменой?
mv -f ./myarchive/* /var/www/mydomainлибо
mv -u ./myarchive/* /var/www/mydomainВ первом случае — переписать файлы без подтверждения; во втором — переместить файлы, если только исходные файлы новее имеющихся либо отсутствуют в каталоге назначения.
Благодарю еще раз.