디렉토리 구조는 다음과 같습니다.
/a/
/a/b/
/a/c/
/ a / c / 하위 디렉토리를 제외하고 모든 것을 복사하고 싶습니다.
scp -rp myserver:/a . # this will copy everything
Q : scp 명령에서 제외 할 디렉토리를 어떻게 지정합니까?
답변
나는 당신이 할 수 있다고 생각하지 않지만 rsync를 사용할 수 있습니까? 이 같은:
rsync -a --exclude=a/c myserver:/a .
답변
나는 이것이 SSH를 사용하는 올바른 방법 일 것이라고 생각하지만 scp로 그것을 수행하는 방법을 찾지 못했지만 ssh를 통해 rsync를 사용하면 해결할 수 있습니다.
rsync -e 'ssh -ax' -av --exclude /a/c myserver:/a .
-n 스위치를 사용하면 프로세스가 완전히 실행됩니다.
rsync -e 'ssh -ax' -av --exclude /a/c -n myserver:/a .
답변
아래 예와 같이 확장 글 로빙을 사용할 수 있습니다.
#Enable extglob
shopt -s extglob
cp -rv !(./excludeme/*.jpg) /var/destination
답변
완벽한 방법은 아니지만 제외하려는 하위 디렉토리를 읽기 전용으로 설정하십시오. chmod -R 444 /a/c
트릭을해야합니다. 해당 디렉토리를 덮어 쓰려고하면 “permission denied”오류가 발생합니다.