디렉토리 복사 + 이름 바꾸기

디렉토리 복사 + 이름 바꾸기

다음에서 디렉터리를 복사하고 싶습니다.

path1/dir1

도착하다

path2/dir2

처음 전화했을 때

cp -r path1/dir1 path2/dir2

문제 없습니다. dir2는 path2 아래에 생성됩니다.

ls path2/dir2

bu 두 번째로 dir1은 path2/dir2 아래에 생성되었습니다.

ls path2/dir2/dir1

just를 사용하여 올바른 동작을 얻을 수 있습니까 cp? (= 호출되지 않음 rm -f path2/dir2)

답변1

-Tcp (GNU ) 옵션을 사용하십시오 cp:

cp -rT path2/dir2 path1/dir1

이를 위해 이것을 사용하는 경우 rsync(변경되지 않은 파일을 복사하지 않기 때문에 원하는 것일 수 있음) /디렉토리 자체가 아닌 내용이 구체적으로 복사되도록 소스 디렉토리에 a를 추가할 수 있습니다. 예를 들어:

rsync -r path1/dir1/ path2/dir2

답변2

이미 존재하는 대상에 디렉토리를 "복사"할 때 원하는 동작이 명확하지 않습니다. 당신은 원하십니까?

  • 새 파일을 추가하기만 하시겠습니까?
  • 새 파일을 추가하고 내용이 변경된 파일을 업데이트하시겠습니까?
  • 파일을 추가 및 업데이트하고, 소스에서 제거된 대상의 파일을 삭제하시겠습니까?

기본적으로 간단한 복사 작업이라고 생각하는 작업은 실제로 훨씬 더 복잡합니다 cp. 모든 경우에 이 명령을 사용하려고 합니다 rsync.

관련 정보