cp -f does not switch off prompt?

我在 Fedora 下执行大量的文件拷贝操作,我使用了

cp -fr [SOURCE] [DEST]

我使用了 -f 开关就是不想被询问文件是否覆盖。但

cp: overwrite `(filename)’? 提示还是出现。

这是什么原因?原来 Fedora 带有几个 alias,可以用 alias 命名查看。

# alias
alias cp=’cp -i’
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 被 alias 了!-i switch 优先于 -f,所以 cp -fr [SOURCE] [DEST] 其实是执行了

cp -ir [SOURCE] [DEST]

怎么才能让 overwrite 提示不出现呢?办法有二:

办法一是使用 unalias 解开 cp -i。但 cp 默认使用 -i 确实很不错,我不想放弃 Fedora 的体贴。于是——

办法二是使用
/bin/cp -ir [SOURCE] [DEST]

Leave a Reply

Your email address will not be published. Required fields are marked *