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也就进行了强制的覆盖。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM