给定源文件路径和目标路径。如何编写shell脚本来复制目标目录的所有文件夹中的源文件?
答案 0 :(得分:2)
您不需要脚本。使用cp -R
进行递归复制:
cp -R source_path dest_path
要在保留上次修改时间等文件属性的同时执行递归复制,请同时使用-p
选项:
cp -Rp source_path dest_path
来自man cp
:
-R
如果source_file指定了一个目录,则cp会复制该目录以及该点连接的整个子树。如果 source_file以/结尾,目录的内容被复制 而不是目录本身。此选项也会导致符号化 链接被复制,而不是间接通过,以及cp到 创建特殊文件而不是将它们复制为普通文件。 创建的目录具有与相应源相同的模式 目录,未经过程'umask修改。
答案 1 :(得分:0)
听起来您想要将单个文件复制到目标目录下的所有子目录中(并进入目标目录本身)。如果这是正确的,那么:
find $targetdir -type d -exec cp $sourcefile {} \;