深究mv移動資料夾時`/`的用法

SolomonXie發表於2019-02-16

目標資料夾「不存在」的情況

$ mv source target

▲結果:把source資料夾「更名」為target

目標資料夾「已存在」且為空

$ mv source/ target
$ mv source/ target/
$ mv source target/
$ mv source/ target/
▲結果:將source移動到target下,成為子資料夾
target
    source
        ......

$ mv source/* target
$ mv source/* target/

▲結果:將source的所有內容移動到target下
source
target
        ......

目標資料夾「已存在」且有衝突檔案

這就比較複雜了。
如果有衝突檔案,則會不詢問直接覆蓋。
如果有衝突資料夾,則會把檔案先全都移動過去,對於有衝突的資料夾,則無論如何都無法移動或覆蓋。這時候要用cp -r命令先複製,在rm -r命令刪除原始檔夾。

相關文章