rsync --remove-source-files 후에 폴더를 삭제하는 방법은 무엇입니까?

rsync --remove-source-files 후에 폴더를 삭제하는 방법은 무엇입니까?

사용하지 않고 폴더를 다른 위치로 이동하고 싶습니다.mv

나는 사용한다

rsync -aAXHv --remove-source-files <source> <destination>

그러나 소스 폴더에는 <source>여전히 콘텐츠가 없습니다. 빈 소스 폴더를 모두 삭제하는 옵션이 있습니까?

답변1

rsync명령을 따르고 rm복사가 성공할 때만 실행되도록 보호하십시오.

rsync -aAXHv --remove-source-files {src} {dst} &&
    rm -rf {src}

물론, 이 조합을 사용하면 더 이상 --remove-source-files.

답변2

나는 빈 폴더를 현명하게 정리하는 것을 좋아합니다. 난 달린다:

find folder -type d -empty -exec rmdir {} \;

빈 하위 폴더를 반복적으로 삭제하는 데 필요한 만큼 반복하면 빈 폴더만 삭제됩니다(rmdir에는 보안 기능이 내장되어 있고 비어 있지 않은 폴더는 삭제되지 않기 때문입니다). 따라서 "rsync"에 대해서는 나중에 배우지 않겠습니다. " 이 파일을 이동하는 데 실패했습니다. 무차별 대입으로 rm -fr / 방금 유일한 복사본을 파괴했습니다." ;-)

zsh 프로 팁:

repeat 15 find folder -type d -empty -exec rmdir {} \;

거의 모든 빈 폴더 스택을 처리합니다.

관련 정보