아래와 같이 두 개의 디렉토리가 있지만 더 많은 파일이 포함되어 있습니다.
folder1/pic1.png
folder1/test/readme.txt
folder2/guest.html
folder2/backup/notes.txt
나는 이 두 가지를 "병합"하여 폴더2의 모든 내용이 폴더1에 들어가고 폴더2가 삭제되도록 하고 싶습니다. 동일한 파일 시스템과 디스크(ext4)에 있습니다. 모든 파일이 고유하다는 것을 알고 있습니다. 여기서 mv가 제대로 작동합니까?
답변1
응, mv
여기서 일해
$ mv -i folder2/* folder1/
-i
보안을 강화하려면 이 플래그를 참고하세요 .
답변2
이를 위해서는 "rsync" 명령이 유용합니다. 나는 다음과 같은 일을 했습니다:
rsync -PHACcviuma --copy-unsafe-links --exclude="*~" folder2/ folder1/ && rm -fr folder2
모든 플래그는 rsync 매뉴얼 페이지에 문서화되어 있습니다. 기본적으로 rsync는 새 파일을 이전 파일로 바꾸지 않으며 대상에 중복된 파일을 복사하지 않습니다. 그렇지 않으면 콘텐츠를 복사하고 원본 메타데이터(타임스탬프, 권한 등)를 보존합니다.
rsync 프로그램에는 "숨겨진 파일"("."로 시작하는 이름), 백업("~"로 끝나는 등)도 포함되므로 --exclude 옵션을 사용하여 흥미롭지 않은 특정 파일 패턴을 건너뜁니다.