다른 파일만 변경하여 (큰) 디렉토리를 다른 디렉토리에 복사하려면 어떻게 해야 합니까?

다른 파일만 변경하여 (큰) 디렉토리를 다른 디렉토리에 복사하려면 어떻게 해야 합니까?

디렉토리 a와 디렉토리 b가 있습니다. 그들은 크다. b는 a와 거의 동일합니다. "거의"는 4~5개의 파일이 서로 다르다는 뜻인데, 어느 파일인지 모르겠습니다. b를 a 위에 복사하고 싶지만 다른 파일만 복사하고 싶습니다. 나는 배쉬에 있어요.

(아니요, 간단히 a를 삭제하고 b로 바꿀 수는 없습니다. 왜냐하면 1) a는 버전 관리이기 때문입니다. 2) 전체 복사본(또는 mv)은 너무 많은 시간이 소요됩니다. 서로 다른 파일만 복사하고 싶습니다.)

답변1

이 작업을 수행하는 데 사용할 수 있습니다 rsync. 제가 사용하는 명령은 다음과 같습니다.rsync -tr "folder to copy from" "folder to copy to"

예를 들어rsync -tr /home/me/stuff/* /home/me/otherstuff/

답변2

good old를 사용하여 이 작업을 수행하는 것도 가능합니다 cp.

를 사용하도록 상기시켜준 srcspider에게 감사드립니다 -T!

cp -ruT old-dir new-dir

답변3

또 다른 좋은 옵션은 Unison(http://www.cis.upenn.edu/~bcpierce/unison/), 특히 "출처"와 "대상"이 실제로 없는 경우에는 더욱 그렇습니다. 각 디렉터리는 루트이며 Unison은 이를 동기화하고 향후 동기화를 위해 메타데이터를 유지합니다. cron을 통해 쉽게 예약할 수 있는 명령줄과 GUI 옵션을 모두 제공합니다.

Dropbox 클라이언트를 실행할 수 없는 로컬 NAS 어플라이언스에 Dropbox를 백업하는 데 사용합니다.

답변4

2개의 디렉토리를 비교할 수 있습니다.

diff -r dir1 dir2

다른 파일 목록이 표시됩니다.

관련 정보