기존 폴더를 덮어쓰고 이전 내용을 모두 삭제하여 Linux에서 폴더를 복사하는 방법은 무엇입니까?

기존 폴더를 덮어쓰고 이전 내용을 모두 삭제하여 Linux에서 폴더를 복사하는 방법은 무엇입니까?

rm를 사용하여 이전 폴더를 삭제한 다음 를 cp사용하여 새 폴더를 복사할 수 있습니다. 그런데 어떻게 한꺼번에 할 수 있나요?

답변1

사용 rsync:

rsync -av --delete source/ target

target이렇게 하면 디렉터리의 내용과 일치하지 않는 디렉터리의 모든 콘텐츠가 삭제되고 디렉터리의 내용이 source추가로 복사됩니다 source.

/끝에 있는 것이 source/중요합니다. 왜냐하면 이것이 없으면 복사본 target/source대신 디렉토리를 얻게 되기 때문입니다 .targetsource

-a(또는 ) 타임스탬프 및 기타 메타데이터를 --archive복사하는 옵션 , (또는 ) 세부 작업을 위한 옵션입니다 . 그렇지 않은 경우 의 기존 콘텐츠는 삭제되지 않습니다 (사물과 이름이 동일하지 않은 경우 업데이트됨).rsync-v--verbosersync--deletetargetsource

답변2

이것은 일이다.rm -fr olddir/* ; cp -a newdir/* olddir

관련 정보