首页 > 代码库 > linux cp 强行覆盖

linux cp 强行覆盖

在linux下cp 命令经常使用,我们经常用的一个操作就是: cp -rf source/ dest/; 但是虽然我们使用--force参数,当目录下有很多重名文件需要覆盖时,却发现这个强制覆盖参数不起作用,我们必须手动的输入很多yes,当重复文件很多的时候,输入yes就成为最没有效率的事情,让我们分析一个这个问题:

1.首先我们输入 alias 命令,看系统给cp 起了一个什么别名:

输入 : alias | grep cp           输出: alias cp=‘cp -i‘

2.接着我们用 man cp 找到 -i 是什么作用的参数

输入: man cp   得到: -i , --interactive: prompt before overwrite;

这下清楚了,原来是系统给cp 起了一个别名,然后这个别名加了一个每次覆盖前都要进行手动确认的参数 --interactive,接下来就对症下药,解决办法有下面几种作为参考:

一. 去除别名 可以使用 unalias cp 这样就临时取消了cp的别名, 也可有使用 \cp -rf source/ dest/这样的方式取消别名

二. 强制覆盖是需要输入yes,那我们就提供yes就好了   yes | cp -rf source/ dest/,    OK

linux cp 强行覆盖