我在 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