나는 다음과 같은 경로를 가지고 있습니다 :
/one/two/three/four/five
나는 SCP를 원한다four/five/
이 위치의 다른 머신으로 재귀합니다.
/zero/
다음과 같이 만드세요:
/zero/four/five
내 현재 경로는 /one/two/three
다음과 같습니다.
scp -r four/five user@bla:/zero/
그러나 대상 컴퓨터에서는 다음과 같습니다.
/zero/five/
바꾸다:
/zero/four/five/
(rsync가 더 간단하다면 사용해도 좋습니다.)
답변1
지역 기업은 창작을 좋아할 수도 mv four/five /zero/
있고 그렇지 않을 수도 있으며, 그렇게 되기를 기대하는 사람은 거의 없습니다. 그래서 당신이 "기대하지 않음"이라고 부르는 것이 나에게는 꽤 기대되는 것처럼 들립니다.cp -r four/five /zero/
/zero/four/
tar
제공된 경로를 저장합니다(참조:이 문제). 이 사실을 활용하십시오.
cd /one/two/three \
&& tar -cf - four/five | ssh user@bla '
cd /zero && tar -xf -
'
답변2
scp
mv
동작은 여기와 동일합니다 cp
. 실행할 수 있는 four
것 외에 다른 디렉토리가 포함되어 있다고 가정five
ssh user@bla 'mkdir -p /zero/four'
(cd four && scp -r five user@bla:/zero/four/)
그냥 복사하세요 five
.
mkdir -p
디렉토리가 이미 존재하는 경우 오류 메시지 방지(cd ... )
cd
나중에 종료 할 필요가 없도록 이 줄을 서브셸에서 실행하세요.four