![재귀 및 파일 마스킹과 함께 scp를 사용하여 여러 확장을 구현하는 방법은 무엇입니까?](https://linux55.com/image/183847/%EC%9E%AC%EA%B7%80%20%EB%B0%8F%20%ED%8C%8C%EC%9D%BC%20%EB%A7%88%EC%8A%A4%ED%82%B9%EA%B3%BC%20%ED%95%A8%EA%BB%98%20scp%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%97%AC%EB%9F%AC%20%ED%99%95%EC%9E%A5%EC%9D%84%20%EA%B5%AC%ED%98%84%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
디렉터리를 재귀적으로 다운로드하려고 하는데 디렉터리 구조도 유지하면서 특정 확장자를 가진 파일만 다운로드합니다.
지금 사용하고 있는 명령은
scp -rp user@address:"/path/to/directory/foo/*\.{jpg,mp4}" ~/local/directory/foo/
a) 로컬에서 디렉터리를 생성해야 하며 foo
b) 루트 디렉터리의 파일만 다운로드합니다(재귀는 작동하지 않음).
이전에 사용한 명령은 scp -rp user@address:"/path/to/directory/foo" ~/local/directory/
이러한 문제가 없었지만 필요하지 않은 모든 파일도 다운로드했다는 것입니다.
답변1
나는 이것이 달성될 수 있다고 생각하지 않는다 scp
. 모든 파일을 재귀적으로 복사하거나 비재귀적으로 파일 형식을 선택할 수 있습니다. 탈출할 필요는 없습니다 .
.
하지만 다음을 사용할 수 있습니다 rsync
.
rsync -avm --include='*/' --include='*.jpg' --include='*.mp4' --exclude='*'\
user@address:/path/to/directory/foo ~/local/directory/
사용된 옵션:
-a
보관 모드-v
장황함을 증가시키다-m
빈 디렉터리 정리--include='*/'
하위 디렉터리 포함--include='*.jpg'
*.jpg
파일 포함--include='*.mp4'
*.mp4
파일 포함--exclude='*'
다른 파일 형식 제외