cp 表示两个不同目录的“同一文件”

cp 表示两个不同目录的“同一文件”

我有目录 A 和子目录 B,并且正在尝试将所有内容从 B 复制到 A。在 A 中,我运行

cp -ar B/ ~/A, 

并收到消息

"cp: 'B/' and '/u/username/A/B' are the same file"

但是,我不确定为什么它认为目的地会涉及 B。

答案1

一般来说,这会尝试将 B 而不是其内容复制到 A 中。由于 B 已经是 A 的子目录,cp因此正确地说源和目标是同一个文件。

如果您想将 B 的内容复制到 A 中,您需要:

cp -ar /path/to/A/B/* /path/to/A/

如果 A 是您当前的工作目录,则可以使用以下命令:

cp -ar B/* .

答案2

该命令cp -ar B/ ~/A不仅会复制 的内容,还会复制 中已经存在的B整个内容。因此,尝试在目录中运行。BAcp -ar B/* .A

相关内容