Linux下cp -rf總是提示覆蓋的解決辦法


  通常情況下使用cp -rf進行文件或者文件夾的管理時一般就不再提醒是否覆蓋。然而在內網的一台機器上使用cp -rf卻提示是否覆蓋。難道和常用的命令不同?

[root@xxxx test]# cp -rf ./files/ ./bak/
cp:是否覆蓋"./bak/files/test.txt"cp:是否覆蓋"./bak/files/hh.txt"cp:是否覆蓋"./bak/files/child/child.txt"

  后來發現是別名引起的問題。

[root@xxxx test]# 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命令,其實是執行了cp -i命令的別名,因此無論怎么輸入都提示是否覆蓋。

  修改~/.bashrc,在“alias cp='cp -i'”前添加#號注釋后即可。

[root@xxxx test]# vi ~/.bashrc 

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
#alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

  讓命令生效:

source ~/.bashrc

  或者重啟即可。


免責聲明!

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



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