Scp

如何以與 scp -rp 複製文件相同的順序列出文件?

  • March 6, 2017

如何以與 scp -rp 複製文件相同的順序列出文件?

我需要知道這一點,因為有時我需要 ctrl-C 一個 scp,然後想複製剩餘的文件。

雖然我會rsync在這裡使用,但這是一個直接回答問題的嘗試。

至少在 Debian GNU/Linux amd64 上使用 OpenSSH 7.4p1,並且在遠端複製時(即源或目標位於遠端主機上),它看起來像是scp -r按照從目錄中讀取文件的順序處理文件。

這與您得到的順序相同:

printf '%s\n' **/*(D.oN)

zsh例如。oNglob 限定符是禁用排序。另見tree -U

$ tree -U 1
1
├── 2
│   ├── 4
│   │   └── 2-4
│   ├── 2
│   │   └── 2-2
│   ├── 3
│   │   └── 2-3
│   └── 1
│       └── 2-1
├── 3
│   ├── 4
│   │   └── 3-4
│   ├── 2
│   │   └── 3-2
│   ├── 3
│   │   └── 3-3
│   └── 1
│       └── 3-1
└── 1
   ├── 4
   │   └── 1-4
   ├── 2
   │   └── 1-2
   ├── 3
   │   └── 1-3
   └── 1
       └── 1-1
$ print -rl 1/**/*(D.oN)
1/2/4/2-4
1/2/2/2-2
1/2/3/2-3
1/2/1/2-1
1/3/4/3-4
1/3/2/3-2
1/3/3/3-3
1/3/1/3-1
1/1/4/1-4
1/1/2/1-2
1/1/3/1-3
1/1/1/1-1
$ scp -r localhost:1 2
2-4      100%    5    11.6KB/s   00:00
2-2      100%    5    38.9KB/s   00:00
2-3      100%    5    19.6KB/s   00:00
2-1      100%    5    19.6KB/s   00:00
3-4      100%    5    32.1KB/s   00:00
3-2      100%    5    38.8KB/s   00:00
3-3      100%    5    37.5KB/s   00:00
3-1      100%    5    28.4KB/s   00:00
1-4      100%    5    23.8KB/s   00:00
1-2      100%    5    39.1KB/s   00:00
1-3      100%    5    42.8KB/s   00:00
1-1      100%    5    40.9KB/s   00:00

引用自:https://unix.stackexchange.com/questions/348866