반응형
"인수 목록이 너무 길다"는 경우 3 일이 지난 모든 파일을 삭제하는 방법은 무엇입니까?
82000 개의 파일과 디렉토리가있는 로그 파일 디렉토리가 있습니다 (약 반반).
3 일이 지난 파일과 디렉토리를 모두 삭제해야합니다.
37000 개의 파일이있는 디렉토리에서 다음을 사용하여이 작업을 수행 할 수 있습니다.
find * -mtime +3 -exec rm {} \;
그러나 82000 개의 파일 / 디렉토리를 사용하면 오류가 발생합니다.
/ usr / bin / find : 인수 목록이 너무 깁니다.
3 일이 지난 모든 파일 / 디렉터리를 삭제할 수 있도록이 오류를 어떻게 해결할 수 있습니까?
현재 디렉토리 내의 모든 파일 과 디렉토리 를 삭제하려면 :
find . -mtime +3 | xargs rm -Rf
또는 OP의 원래 명령과 더 일치합니다.
find . -mtime +3 -exec rm -Rf -- {} \;
다음을 사용할 수도 있습니다.
find . -mindepth 1 -mtime +3 -delete
대상 디렉터리를 삭제하지 않으려면
원래 질문에 대한 또 다른 해결책, esp. 폴더에서 이전 파일 중 일부만 제거하려는 경우 유용합니다.
find . -name "*.sess" -mtime +100
등등 .. 인용 부호는 쉘 와일드 카드를 차단하므로 수백만 개의 파일을 "찾을"수 있습니다. :)
반응형
'program story' 카테고리의 다른 글
Django 관리자 : 모델에서 editable = False '로 표시된 필드를 표시하는 방법은 무엇입니까? (0) | 2020.09.09 |
---|---|
SQLAlchemy를 사용하여 새 데이터베이스를 만드는 방법은 무엇입니까? (0) | 2020.09.09 |
Swift 하위 클래스 UIView (0) | 2020.09.09 |
요소를 효율적으로 검색하는 방법 (0) | 2020.09.09 |
명령이 완료 될 때까지 기다리지 않고 shell_exec를 사용하는 방법이 있습니까? (0) | 2020.09.09 |