如果以下命令不理解,请参考博客: Linux常用基础命令讲解_yu.deqiang的博客-CSDN博客
一、问题描述
![image-20220510100235724](https://typoreydq.oss-cn-shanghai.aliyuncs.com/image-20220510100235724.png)
由上图可知,将文件3.txt拷贝到abc目录下,因为abc目录下已存在abc目录,所以复制进去将会提醒覆盖,所以就使用了cp中的-f选项,意思为强制覆盖,不与用户交互,但是还是提醒了是否覆盖的提示。
二、问题分析
![image-20220510100553724](https://typoreydq.oss-cn-shanghai.aliyuncs.com/image-20220510100553724.png)
由上图可知:使用查看别名的命令,alias命令,看到cp的别名为cp -i。那就是说cp本身就是自带覆盖提醒,就算我们加上-f 的选项,它还是会优先匹配 -i的选项。(此处就算-f和-i,cp命令还是会先匹配-i的选项)
三、问题解决
由上图可知:我们先删除cp命令的别名,然后再使用-f的选项进行复制,此时就不会进行提醒覆盖的消息。
注意:Linux中最忌讳的就是删除文件了,如果取消-i的选项,那么以后默认使用cp命令,它是不会进行提醒的,建议将cp默认别名选项改成-i。
在linux中,有许多的像cp这种别名的命令,在执行该命令时,也会执行它的选项,比如:rm删除文件,mv剪切文件。在执行非别名中的选项的时候,注意查看是否会匹配其中的别名选项。