我下载了一个 Adobe flash 插件,它包括一个.so
文件和一个名为usr
.在此文件夹中,有bin
、lib
、 lib64
、等子文件夹share
。在自述文件中,它说我需要执行以下操作:
sudo cp -r usr/* /usr
文件夹内/usr
有目录bin
、、、、、、、、。games
include
lib
local
sbin
share
src
我担心该命令sudo cp -r usr/* /usr
可能会覆盖 中的子目录/usr
,然后导致问题。
我的担忧是真正的问题吗?
答案1
而不是cp -r usr/* /usr
,执行:
cp -ri usr/* /usr
该-i
标志将使复制过程交互,并会询问您的许可是否会覆盖任何文件。您可以选择授予或不授予该权限。
cp
PS:-我的测试服务器上的版本是8.4。除非我使用cp
标志,否则它在覆盖文件之前不会请求许可-i
。也没有设置别名。所以最好的方法是使用-i
flag。
[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
不,不会。它只会覆盖两个位置都存在的文件或复制新文件,而将旧文件单独保留在目标位置。