linux cp 直接覆蓋不提示信息的解決方法

默認情況下,cp覆蓋時,無論加什麼參數 -f 之類的 還是提示是否覆蓋。

原因是:服務器會默認增加別名 alias cp=’cp -i’,當你執行cp時,其實執行的是cp –i。

複製代碼
[root@ltt01 ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
複製代碼

 

cp 時取消提示信息,直接覆蓋,不需要用戶再敲擊 y 進行交互,這在腳本執行時很重要。

下面是兩種做法解決這個問題。

方法一:將別名禁掉

[root@ltt01 ~]# vi ~/.bashrc 

在alias cp=’cp -i’前加上”#”註釋掉這行,:wq! 保存退出,然後重新登陸就可以了。

方法二:cp 前 加 \   

[root@ltt01 ~]# \cp 1.txt /back/1.txt 
[root@ltt01 ~]# 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章