在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
时间: 2024-10-13 08:11:17