问题:
将data01中的文件 2.txt 拷贝到data02目录下,因为data02目录下已存在 2.txt,所以复制进去将会提醒覆盖,所以就使用了cp中的-f选项,意思为强制覆盖,不与用户交互,但是还是提醒了是否覆盖的提示。
分析:
查看别名,alias命令,看到cp的别名为cp -i,那就是说cp本身就是自带覆盖提醒,就算我们加上-f 的选项,它还是会优先匹配 -i 的选项。
命令执行顺序:
绝对路径 > 别名 > 内部命令 > hash > 外部命令
解决:
我们先删除cp命令的别名,然后再使用-f的选项进行复制,此时就不会进行提醒覆盖的消息。
注意:Linux中最忌讳的就是删除文件了,如果取消-i的选项,那么以后默认使用cp命令,它是不会进行提醒的,建议将cp默认别名选项改成-i。
在linux中,有许多的像cp这种别名的命令,在执行该命令时,也会执行它的选项,比如:rm删除文件,mv剪切文件。在执行非别名中的选项的时候,注意查看是否会匹配其中的别名选项。