cp 可以覆盖同名的子目录吗?

cp 可以覆盖同名的子目录吗?

我下载了一个 Adob​​e flash 插件,它包括一个.so文件和一个名为usr.在此文件夹中,有binliblib64、等子文件夹share。在自述文件中,它说我需要执行以下操作:

     sudo cp -r usr/* /usr

文件夹内/usr有目录bin、、、、、、、、。games​​​includeliblocalsbinsharesrc

我担心该命令sudo cp -r usr/* /usr可能会覆盖 中的子目录/usr,然后导致问题。

我的担忧是真正的问题吗?

答案1

而不是cp -r usr/* /usr,执行:

cp -ri usr/* /usr

-i标志将使复制过程交互,并会询问您的许可是否会覆盖任何文件。您可以选择授予或不授予该权限。

cpPS:-我的测试服务器上的版本是8.4。除非我使用cp标志,否则它在覆盖文件之前不会请求许可-i。也没有设置别名。所以最好的方法是使用-iflag。

[sreeraj@server ~]$ cp --version
cp (GNU coreutils) 8.4

[sreeraj@server ~]$ cp -ir test testso
cp: overwrite `testso/test/offrandom'? y
[sreeraj@server ~]$ 

[sreeraj@server ~]$ cp -r test testso/
[sreeraj@server ~]$ 

答案2

不,不会。它只会覆盖两个位置都存在的文件或复制新文件,而将旧文件单独保留在目标位置。

相关内容