Linux cp 實(shí)現(xiàn)強(qiáng)行批量覆蓋
技術(shù)支持服務(wù)電話:15308000360 【7x24提供運(yùn)維服務(wù),解決各類系統(tǒng)/軟硬件疑難技術(shù)問(wèn)題】
發(fā)現(xiàn)在Fedora 10 /ubutun 里面用cp -fr src dest,即使加了-f也是不能強(qiáng)行覆蓋的,這時(shí)怎么回事的呢?一兩個(gè)文件還好說(shuō),就輸幾個(gè)yes吧,但是要是n多文件怎么辦,那還不輸死人呢?下面提供三種解決辦法。
方法一
我們輸入alias命令,看看系統(tǒng)給cp起了一個(gè)什么別名。
[root@localhost ~]# 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’
然后[root@localhost ~]# man cp
看看-i什么意思
-i, –interactive prompt before overwrite
原來(lái)在覆蓋之前會(huì)提示,那我們的解決辦法也出來(lái)了,用unalias cp來(lái)解除cp的別名,還原純凈的cp。
[root@localhost ~]#unaslias cp (這只是臨時(shí)取消cp的別名,不是永久的)
[root@localhost ~]#cp -fr src dest 這下就行了,就不會(huì)提示覆蓋了。
方法二
輸入\cp命令,作用也是取消cp的別名。
[root@localhost ~]#\cp -fr src dest
方法三
輸入yes|cp -fr src dest,使用管道自動(dòng)輸入yes。
[root@localhost ~]#yes | cp cp -fr src dest 讓管道自動(dòng)輸入一大堆得yes,就可以完成了強(qiáng)行復(fù)制了。
那有人會(huì)問(wèn)dos的copy命令怎么實(shí)現(xiàn)強(qiáng)行復(fù)制的呢?答案是
用來(lái) xcopy /y src dest 來(lái)實(shí)現(xiàn)強(qiáng)行復(fù)制。