Команда 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 означает рекурсивный, и без него он не хочет делать все каталоги.

Другие вопросы по тегам