【问题标题】:How do I use this cp command properly如何正确使用此 cp 命令
【发布时间】:2019-07-22 09:21:49
【问题描述】:

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

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

命令挂起并在ctrl C 上打印一个代表某事的0

【问题讨论】:

    标签: linux find xargs


    【解决方案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 -0 将使它接受(仅)以nul 结尾的文件名。这样做的效果是确保xargs 也能正确看到其中包含空格的文件名,并会采取相应的行动(在这种情况下复制到其他地方)。

    最后,请注意您的cp 命令不会复制目录或其内容;您将需要额外的cp 选项-dR。见man 1 cp

    【讨论】:

    • 非常感谢您的解释和示例
    • 我在使用上述命令时有时会遇到问题 find / -user Joe -exec cp {} /home/Joe/Folder \;驱动器上没有剩余磁盘空间。我猜我需要确保分区非常大,有 8Gb。此外,当我自己运行 find 命令时,它会拉取 200 个文件,但是当我完全运行命令时,它会拉出比预期更多的方式。好奇为什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 2018-10-18
    • 2013-12-14
    • 2021-11-16
    相关资源
    最近更新 更多