2012-07-21 2 views
9

scp 디렉토리에있는 모든 파일을 재귀 적으로 원격 기계에 저장하고 원본 파일 이름을 유지하지만 디렉토리를 복사하지 않습니까?재귀 적으로 scp 현재 디렉토리를 제외하고

dir1/file 
dir1/dir2/file2 

dir1의 내용은 복사 만됩니다. dir1이 생성되지 않습니다. dir2 디렉토리는 내부에 file2으로 생성됩니다.

나는 scp -r dir1 remote:/newfolder을 시도했지만 그것은 remote/newfolder 디렉토리에 dir1를 작성합니다. 나는 그것이 dir1 디렉토리를 만들고 싶지 않습니다. dir1 안에있는 모든 파일을 newfolder에 넣으십시오.

답변

19
cd dir1 
scp -r . remote:/newfolder 

이 이름 dir1으로 아무것도 할 수있는 기회 scp을주고 방지 원격 컴퓨터에서. 또한 선호 할이 원래 디렉토리에 쉘 잎

(cd dir1; scp -r . remote:/newfolder) 

, 같은 (가 cdscp 작업을 수행하는 서브 쉘을 실행하기 때문에)를 작업하는 동안.

8

이 쉘 확장에 의해 만들어진 파일의 목록을 복사 의미 DIR1/*에 원격 위치의 원격/newfolder

scp -r dir1/* remote:/newfolder 
+0

나는'cd '를하지 않아도되기 때문에이 대답을 좋아한다. 'scp '다음에 나오는 다음 명령문이 원래 디렉토리에 있기를 원한다면, cd 단계로 다시 돌아 가야합니다. – jreancsu

1

도트 구문을 상대 경로와 함께 사용할 수 있습니다.

scp -r dir1/. remote:/newfolder 

원격 디렉터리가없는 경우 만들어집니다.

관련 문제