1 년 이상 된 리눅스에서 파일을 삭제하는 방법? [복제]


9

가능한 중복 :
Linux에서 특정 날짜보다 큰 파일을 삭제하는 방법

현재 디렉토리와 1 년보다 오래된 하위 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?


1
마십시오 man find. 팔.

1
더 자세히 살펴보면, 다른 질문은 실제로 혼란스럽고 다른 답변은 전치하기가 쉽지 않습니다.
Gilles 'SO- 악마 그만'

답변:


15
find /the/dir/to/start/in -type f -mtime +365 -ls -exec rm -f -- {} \;

2
find /path/to/files -type f -mtime +365 -delete더 쉬울 것입니다.
Chris S

-삭제는 내 aix 찾기에 없으므로 사용에 익숙하지 않습니다. 그래도 다른 찾기 바이너리에서 구현되어 기쁩니다.
bot403

find … -exec rm -f {} +조금 더 빠를 것입니다 (그리고 고대 시스템을 제외하고 휴대용입니다).
Gilles 'SO- 악마 그만'

1
또한 --첫 번째 파일 이름이로 시작하는 경우 에 사용하는 것이 좋습니다 -(전달 된 디렉토리가로 find시작하지 않으면 파일 이름이 발생 하지 않을 수도 있음 -).
Gilles 'SO- 악마 그만'

무엇을 삭제하려고하는지 모르고 왜 세계에서 -f를 사용하여 강제로 삭제합니까? 일부 파일은 이유 때문에 보호됩니다. 찾기 결과를 파일에 저장 한 다음 검사하여 파일 내용에 대해 rm을 실행하는 것이 훨씬 안전합니다.
Petr

2

많은 파일을 제거하는 경우 일반적으로 "-exec"또는 "xargs"로 파이프하는 것보다 훨씬 빠릅니다.

find . -type f -mtime +365 | perl -lne unlink
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.