我們平時(shí)在 Linux 中使用 cp 命令時(shí),當(dāng)把文件從一個(gè)目錄復(fù)制到另一個(gè)目錄,且目錄中具有同名文件時(shí),系統(tǒng)會(huì)提示輸入 y 來確認(rèn)是否覆蓋同名文件。
如果文件少的話,也無關(guān)緊要,但文件多的話,要一個(gè)一個(gè)確認(rèn)簡直太累了。更要命的是,即使我們加了 -rf 參數(shù),還是會(huì)提示。
為什么會(huì)這樣呢?
原因
原因就是 cp 命令被系統(tǒng)設(shè)置了別名。
我們可以查看一下:
[[email protected]]# aliasalias 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'
也就是說,我們平時(shí)使用的 cp 命令,實(shí)際上是 cp -i。
那 -i 參數(shù)是什么意思呢?
[[email protected]]# cp --help-i, --interactive prompt before overwrite (overrides a previous -n option)
就是在覆蓋之前會(huì)給一個(gè)提示,這應(yīng)該算是系統(tǒng)的一個(gè)保險(xiǎn)措施。
那如果希望進(jìn)行強(qiáng)制復(fù)制,不想一個(gè)一個(gè)輸入 y,有什么辦法呢?
解決辦法一
使用原生命令:
[[email protected]]# /bin/cp -rf xxx
解決辦法二
取消別名:
[[email protected]]# unalias cp
這樣再使用 cp -rf 的時(shí)候就不會(huì)提示確認(rèn)了。
但需要注意的是,使用完之后記得把別名恢復(fù)。
[[email protected]]# alias cp='cp -i'
這里更推薦大家使用辦法一,因?yàn)槊詈唵?,而且還不會(huì)造成忘記恢復(fù)別名而帶來的風(fēng)險(xiǎn)。
以上就是本文的全部內(nèi)容,如果覺得還不錯(cuò)的話,歡迎點(diǎn)贊,轉(zhuǎn)發(fā)和關(guān)注,感謝支持。
推薦閱讀:
計(jì)算機(jī)經(jīng)典必讀書籍技術(shù)博客: 硬核后端開發(fā)技術(shù)干貨,內(nèi)容包括 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。Go 程序員: Go 學(xué)習(xí)路線圖,包括基礎(chǔ)專欄,進(jìn)階專欄,源碼閱讀,實(shí)戰(zhàn)開發(fā),面試刷題,必讀書單等一系列資源。面試題匯總: 包括 Python、Go、Redis、MySQL、Kafka、數(shù)據(jù)結(jié)構(gòu)、算法、編程、網(wǎng)絡(luò)等各種??碱}。