Linux中使用cp命令的 -f 选项,但还是提醒覆盖的问题

问题:

Linux中使用cp命令的 -f 选项,但还是提醒覆盖的问题_第1张图片

将data01中的文件 2.txt 拷贝到data02目录下,因为data02目录下已存在 2.txt,所以复制进去将会提醒覆盖,所以就使用了cp中的-f选项,意思为强制覆盖,不与用户交互,但是还是提醒了是否覆盖的提示。

分析:

Linux中使用cp命令的 -f 选项,但还是提醒覆盖的问题_第2张图片

查看别名,alias命令,看到cp的别名为cp -i,那就是说cp本身就是自带覆盖提醒,就算我们加上-f 的选项,它还是会优先匹配 -i 的选项。

命令执行顺序:

绝对路径 > 别名 > 内部命令 > hash > 外部命令

解决:

Linux中使用cp命令的 -f 选项,但还是提醒覆盖的问题_第3张图片

我们先删除cp命令的别名,然后再使用-f的选项进行复制,此时就不会进行提醒覆盖的消息。

注意:Linux中最忌讳的就是删除文件了,如果取消-i的选项,那么以后默认使用cp命令,它是不会进行提醒的,建议将cp默认别名选项改成-i。

在linux中,有许多的像cp这种别名的命令,在执行该命令时,也会执行它的选项,比如:rm删除文件,mv剪切文件。在执行非别名中的选项的时候,注意查看是否会匹配其中的别名选项。

你可能感兴趣的:(Linux,linux,运维)