shell指令 路徑末加上斜線(slash)的差別

rsync 與 cp 指令來源目錄

在使用 rsync cp 等指令,引數中有 source 時,常會加不加/造成不同的結果

  • 不加斜線 把該資料夾視為一個 物件 來看待,所以是整個資料夾一起動 執行前
1
2
3
4
├── dir1
│   ├── list.yml
│   └── text.md
├── dir2
1
rsync -Pav dir1 dir2

執行後 可以看到 dir1 跑到 dir2 下

1
2
3
4
5
6
7
├── dir1
│   ├── list.yml
│   └── text.md
├── dir2
│   └── dir1
│       ├── list.yml
│       └── text.md
  • 加斜線 該目錄下所有的內容,但不含該目錄(資料夾)

執行前

1
2
3
4
├── dir1
│   ├── list.yml
│   └── text.md
├── dir2
1
rsync -Pav dir1/ dir2

執行後 dir1 下所有的檔案都複製一份到 dir2 下

1
2
3
4
5
6
├── dir1
│   ├── list.yml
│   └── text.md
├── dir2
│   ├── list.yml
│   └── text.md

參考資料

YouTube channel:TJWei subject:命令列漫談 11: 資料下載工具

Built with Hugo
Theme Stack designed by Jimmy