這三個指令會放在在最前面介紹不是沒原因的,通常在介紹 Linux 時會從這幾個指令開始.
-
cp – Copy files
複製檔案以及目錄時使用. -
mv – Rename files
搬移檔案目錄可以使用這指令.他的作用就如同 cp + rm. -
rm – Delete files
移除檔案目錄時使用,在 Linux 下可沒有資源回收桶請小心使用該指令.
在使用 cp -f 時你會發現雖然我使用參數 -f 但是目的端位址已經有相同檔案存在系統還是會在詢問一次 cp: overwrite file ?,這到底是怎麼一回事,不是已經使用了參數 -f 嗎??原來是受到 alias (別名) 的影響,我們現看看目前有哪些 alias.
[root@benjr ~]# alias alias cp='cp -i' alias l.='ls -d .* –color=tty' alias ll='ls -l –color=tty' alias ls='ls –color=tty' alias mc='. /usr/share/mc/bin/mc-wrapper.sh' alias mv='mv -i' alias rm='rm -i'alias which='alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde'
你會看到 cp 其實會被 cp -i 所取代,所以就算我們加入參數 -f 但實際還是受到另外一個參數 -i (interactive) 所影響.所以解決方式有2種,
-
第一是取消 alias,採用的指令是 unalias cp.
[root@benjr ~]# unalias cp
使用 unalias 可以暫時取消這別名的功能.不過每次開機都需要手動做一次,因為所有的 alias 皆定義在使用者的家目錄 .bashrc 檔案裡面,所以要移除 alias 必須要從這邊做起,或是自行定義屬於自己的 alias 只要把定義寫在使用者的家目錄 .bashrc 檔案裡面.
-
方式二是直接使用 cp 的絕對路徑.就不會受到 alias 的影響.
[root@benjr ~]# /bin/cp -f * test/
沒有解決問題,試試搜尋本站其他內容
One thought on “Linux command – cp / mv / rm”