我如何正确使用此cp命令

时间:2019-07-22 00:02:05

标签: linux find xargs

如何正确使用以下内容: 我想找到属于用户的所有文件,并将它们复制到一个文件夹中。

find / -user Joe | xargs -I {} cp {} /home/Joe/Folder

该命令将挂起,并在ctrl C上打印一个表示内容的 0

1 个答案:

答案 0 :(得分:1)

find / -user Joe -exec cp {} /home/Joe/Folder \;

这还将复制其中包含空格的实例文件名。

如果您还坚持使用xargs:

find / -user Joe -print0 | xargs -0 -I{} cp {} /home/Joe/Folder

find的选项-print0将使它以nul终止文件名,而xargs的{​​{1}}将使其接受(仅)结尾的文件名在-0中。这样做的效果是确保例如nul也可以正确看到其中包含空格的文件名,并对其进行相应处理(在这种情况下,将其复制到其他地方)。

最后,请注意,您的xargs命令照原样将不会复制目录或其内容;您将需要其他cp选项cp。参见-dR