我尝试使用xargs命令将大量文件从一个目录复制到另一个目录。但是这个似乎没有用。
# echo * |xargs cp -r /directry/destination
我做错了什么?
以下是它的回报:
cp: target `file name' is not a directory
答案 0 :(得分:1)
find -maxdepth 1 -mindepth 1 -exec cp -r -t /directry/destination {} ';'
答案 1 :(得分:0)
默认情况下,当有多个源指令时,cp会将LAST参数解释为目标目录,但是您拥有它的方式为cp -r target source1 source2 source3...
。因此,它会认为您打算将事物复制到最后一个源而不是目标。如果您使用的是gnu coreutils,则应该有一个-t
或--target-directory
开关,这样您就可以指定要用作目标的目录,这样就可以使用echo * | xargs cp -r --target-directory /directory/destination