cp拷贝时文件、目录时强制覆盖,不进行提示

背景说明

在进行cp拷贝文件的时候,想要进行强制覆盖,但是发现即使指定-f参数,还是进行提示。

[root@dciuap7 ~]# cp anaconda-ks.cfg ./a/
cp: overwrite ‘./a/anaconda-ks.cfg’? y
[root@dciuap7 ~]# cp -f anaconda-ks.cfg ./a/
cp: overwrite ‘./a/anaconda-ks.cfg’? y

分析

经过检查发现,直接使用的cp命令,其实是cp -i的别名。
执行以下的命令

[root@dciuap7 ~]# alias cp
alias cp='cp -i'

也就是说,直接使用cp就相当于带了-i的参数,也就是进行提示的意思。

cp -i参数的含义:
-i, --interactive prompt before overwrite (overrides a previous -n option) #就是在覆盖之前要进行提示。

处理方法

使用cp的绝对路径加-f参数

[root@dciuap7 ~]# which cp
alias cp='cp -i'
	/usr/bin/cp
[root@dciuap7 ~]# /usr/bin/cp -f anaconda-ks.cfg ./a/

这样拷贝文件的时候,使用的就是不带-i参数的cp命令,所以-f也就进行了强制的覆盖。

原文地址:https://www.cnblogs.com/chuanzhang053/p/14068417.html