X일보다 오래된 모든 파일과 모든 빈 폴더(linux/bash)를 삭제합니다.

X일보다 오래된 모든 파일과 모든 빈 폴더(linux/bash)를 삭제합니다.

모든 파일을 재귀적으로 삭제합니다.

$ find . -type f -name "*.*" -daystart -mtime +100 -exec rm -rf {} \;

다음은 모든 빈 폴더입니다.

$ find . -type d -empty -delete

100일보다 오래된 파일이 포함되어 있을 수 있는 100일보다 오래된 폴더를 삭제하고 싶지 않기 때문입니다.

하지만 이 작업을 수행하는 더 깔끔한 방법이 있습니까? 아니면 제가 뭔가 잘못 이해한 것입니까?

답변1

두 개의 명령을 하나로 결합합니다.

find /some/path -depth \( \( -type f -daystart -mtime +100 \) -o -type d -empty \) -ls
  • 오늘부터 100일 이상 전에 마지막으로 수정된 모든 일반 파일을 삭제하는 것입니다.
  • 게다가 모든 빈 디렉토리.

삭제하려는 파일/디렉토리를 확인하고 대체하십시오 -ls.-delete무엇을 제거할지, 어떤 경로에서 제거할지 주의 깊게 살펴보세요!

관련 정보