如何使用 1 个源目录覆盖多个位置的目录

如何使用 1 个源目录覆盖多个位置的目录

所以今天我遇到我的 PHP 文件之一已过时,所以我必须覆盖phpthumb整个服务器上的目录。

多个网站在多个未知位置使用此文件夹,那么如何从 1 个源路径覆盖所有这些目录? (即:/home/test/testuser/phpthumb//home/*/*/phpthumb/

答案1

这应该有效:

echo /home/*/*/phpthumb | xargs -t -n 1 cp -r /home/test/testuser/phpthumb/*

你必须与 一起工作xargs。不幸的是cp无法复制到多个目标。cp可以处理多个来源。

解释:

  • echo /home/*/*/phpthumb:列出所有phpthumb目录
  • xargs -t -n 1: xargs 应该cp分别调用每一行
  • cp -r /home/test/testuser/phpthumb/*该命令xargs应该调用。请注意,目标目录将在末尾附加xargs.

答案2

尝试这个:

$ find /home -name "phpthumb" -type d -not -path "*test/testuser/phpthumb" \
    -exec cp /home/test/testuser/phpthumb/* {} \;

findphpthumb命令在以下位置查找/home

  • -type d选择文件夹
  • -not -path排除test/testuser/phpthumb

对于每个文件夹执行cp命令。如果test/testuser/phpthumb是带有子文件夹的树,请将-R选项添加到cp.

相关内容