scp -rp에 의해 복사된 순서대로 파일을 나열하는 방법은 무엇입니까?
때때로 scp를 Ctrl-C로 누른 다음 나머지 파일을 복사해야 하기 때문에 이것을 알아야 합니다.
답변1
여기서는 이를 사용하겠지만 rsync
이는 질문에 대한 직접적인 답변을 시도하는 것입니다.
scp -r
최소한 Debian GNU/Linux amd64에서 OpenSSH 7.4p1을 사용하고 원격으로 복사할 때(즉, 원본이나 대상이 원격 호스트에 있는 경우) 디렉터리에서 읽은 순서대로 파일이 처리되는 것처럼 보입니다 .
이것은 당신이 얻는 것과 동일한 순서입니다:
printf '%s\n' **/*(D.oN)
예를 들어 zsh
. glob oN
한정자는 정렬을 비활성화하는 데 사용됩니다. 또한보십시오 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
답변2
글쎄, 분명한 것은 -v
복사할 때 이름을 볼 수 있도록 사용하는 것입니다.
scp -vrp from/here to/there
그러나 파일 이름을 가지고 노는 것은 최선의 접근 방식이 아닙니다. 이 작업을 자주 수행해야 하는 경우 이 로 전환해야 합니다 rsync
. 옵션(로컬 파일이 원격 파일보다 최신인 경우에만 복사)이 있으므로 -u
복사한 모든 파일을 건너뛰고 소스와 대상에서 동일한 파일을 찾은 경우에만 차이점을 복사하여 원격 파일을 로컬 파일과 동일합니다.
답변3
GNU ls에는 --sort=none
( -U
축약형) 옵션("정렬하지 않음, 디렉토리 순서대로 항목 나열")이 있습니다.