深究cp拷貝文件夾時`/`的用法

假設現有一個source文件夾:

source
    sub
        a.jpg
    b.jpg
    c.jpg

目標文件夾「不存在」的情況

$ cp -r source target
$ cp -r source/ target
$ cp -r source/ target/

▲ 結果:「source = target」以上三句話一樣,都是創建一個source的同級克隆,只不過名字不同:
target
    ......
source
    ......

$ cp -r source/* target
▲ 結果:「命令錯誤」

目標文件夾「已存在」且爲空

$ cp  -r source target

▲ 結果:「source ≠ target」無論是否有內容,都在target目錄下存放source目錄:
source
    ......
target
    source
        ......

$ cp  -r source/ target
$ cp  -r source/ target/
$ cp -r source/* target
$ cp  -r source/* target/
▲ 結果:「source = target」以上幾句話一樣,會正確的把source下的內容拷貝到target下
target
    ......
source
    ......

目標文件夾「已存在」且不爲空,且無同名文件

$ cp  -r source target
$ cp  -r source target/

▲ 結果:「source ≠ target」無論是否有內容,都在target目錄下存放source目錄:
source
    ......
target
    source
        ......

$ cp  -r source/ target
$ cp  -r source/ target/
$ cp  -r source/* target
$ cp  -r source/* target/
▲ 結果:「target ∋ source」會把source下的內容全部拷貝到targe之中
source
    ......
target
    ......
    ......

目標文件夾「已存在」且有衝突文件

▲結果:「默認覆蓋有衝突的目標文件」無論怎麼拷貝都默認覆蓋
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章