复制大量的文件xargs

时间:2014-05-06 17:41:53

标签: linux xargs

我尝试使用xargs命令将大量文件从一个目录复制到另一个目录。但是这个似乎没有用。

# echo * |xargs cp -r /directry/destination

我做错了什么?

以下是它的回报:

cp: target `file name' is not a directory

2 个答案:

答案 0 :(得分:1)

find -maxdepth 1 -mindepth 1 -exec cp -r -t /directry/destination {} ';'

Example

答案 1 :(得分:0)

默认情况下,当有多个源指令时,cp会将LAST参数解释为目标目录,但是您拥有它的方式为cp -r target source1 source2 source3...。因此,它会认为您打算将事物复制到最后一个源而不是目标。如果您使用的是gnu coreutils,则应该有一个-t--target-directory开关,这样您就可以指定要用作目标的目录,这样就可以使用echo * | xargs cp -r --target-directory /directory/destination