目錄
背景說明
在進行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也就進行了強制的覆蓋。