Команда Linux cp создает пропущенный каталог
Я хочу разместить 1 файл с именем "test1.html" в 100 различных каталогах сайта.
Структура каталогов выглядит следующим образом
/home/domain.com/public_html/ (имя домена.com меняется для каждого каталога, поэтому я использую * .
Файл здесь: /root/test1.html
Я должен попробовать это: cp test1.html /home/*/public_html/
через учетную запись root но дайте мне
cp: omitting directory `/home/domain1.com/public_html/'
cp: omitting directory `/home/domain2.com/public_html/'
и так далее.
как разместить один файл во всех каталогах доменов?
это Centos 5.9
3 ответа
Пытаться:
for dest in /home/*/public_html/
do
cp test1.html $dest
done
Поскольку вы пишете в пользовательских каталогах, будьте осторожны с настройками umask - они контролируют права доступа к файлу. Ты можешь использовать cp -p
сохранить точные разрешения на test1.html.
Попробуй это:
cd /home/; find . -name public_html -type d | xargs -I {} cp /root/test1.html {};
Должно быть написано:
cp -R test1.html /home/*/public_html/
-R означает рекурсивный, и без него он не хочет делать все каталоги.