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 ~]# 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM