cp命令强制覆盖原有文件/文件夹
如果直接使用cp,不加参数,那么一旦目标和源文件夹下有同名文件,会提示是否覆盖,需要一个一个确认,如果文件数量少还好,若是多的话,一一确认会累死的...
比如:把a目录下的文件复制到b目录
cp –r a/* b
执行上面的命令时,b存在的每个文件都会提示是否覆盖:
该操作当时不停提示覆盖,要手工确认,数量太多,最后只得CTR+C取消
怎么办呢?可以加一个-f,实现cp命令强制覆盖,不再提示。
命令格式:cp –r –f a/* b/
执行上面的命令时,b存在的每个文件都不再会提示,妥啦!
3、cp命令加上-f还是提示覆盖的问题
有时加了-f了,还是会有覆盖确认提示,为啥呢?原因是有一些服务器默认安装的系统里,已经增加了别名 alias cp=’cp -i’,当你执行cp时,其实执行的是cp –i。
可以通过执行alias命令查看:
看到了吗
这种情况下,先unalias cp,具体方法三种:
第一种方法:
#vi ~/.bashrc,在alias cp=’cp -i’前加上”#”注释掉这行,:wq! 保存退出,然后重新登陆,使用cp -r -f就可以了,如下图:
第二种方法:
1) 临时取消cp的alias
先执行#unalias cp,然后执行cp –r –f a/* b/即不再出现覆盖提示了。但是下次登录还会同样情况,需要#unalias cp再次临时取消cp的alias。
以上基本就是cp命令常用场景了,而这个cp加了-f还提示覆盖的问题是很多人经常遇到的,个人推荐第二种方法,简单粗暴哦。
cp命令的复习
最新推荐文章于 2024-11-03 07:28:20 发布