天天看點

linux cp指令 強制覆寫,解決 Linux cp 指令加了 -f 後依然提示覆寫的問題

cp 指令是在 Linux 上用來複制檔案的指令,不管是複制單個檔案,還是整個檔案夾複制,都可以用 cp 指令實作。有時候我們需要用新的檔案覆寫舊的檔案,并且希望指令不提示 Y/N  而是直接覆寫,就可以用 -f 直接覆寫。但是今天老王遇到一個問題,cp 指令加了 -f 後依然提示覆寫,這裡分享下原因和解決辦法。

一、cp 指令

例如我們需要将目前檔案下的 install.sh 檔案複制到 /root/scripts 目錄下:

cp install.sh /root/scripts/

如果我們 /root/scripts 已經有了一個 install.sh 了,那麼 Linux 就會提示問我們是否覆寫“install.sh”,可以輸入 y 确認覆寫,或者 n 取消覆寫。如果隻有一個檔案還好,但是如果有很多個檔案,那麼就很麻煩了。這個時候就可以使用 -f 不提示直接覆寫:

cp -f install.sh /root/scripts/

二、cp -f 之後依然提示覆寫

今天老王在用 cp 指令時,加了 -f,依然會提示是否需要覆寫,後來發現是 Linux 上别名設定的問題,輸入 alias 傳回如下:

alias cp='cp -i'

也就是說當你執行 cp 時,其實執行的是 cp –i。

解決辦法:

方法一:修改 ~/.bashrc 檔案禁用掉 cp 的 alias

即在 alias cp='cp -i' 前加上“#”注釋,重新登入即可實作複制不提示

方法二:直接輸入指令即可實作,用 \cp 代替 cp:

\cp -f install.sh /root/scripts/