관리 메뉴

Sysops Notepad

[Linux] find 명령어 및 다양한 옵션을 통한 파일 검색/삭제 본문

업무/etc

[Linux] find 명령어 및 다양한 옵션을 통한 파일 검색/삭제

sysops 2021. 4. 22. 14:39

*  일정기간 지난 파일 삭제 명령 - 1일 지난 파일 삭제 예 
find [디렉토리] -ctime +0 -exec rm -f {} \;
 
*  일정기간 지난 파일 삭제 명령 - 7일 지난 파일 삭제 예 
find [디렉토리] -ctime +7 -exec rm -f {} \;

* 수정한지 3일 이내 ( -mtime -3 ) 의 파일만
find . -mtime -3 -type f -ls

* 수정한지 30분 이내 ( -mmin -30 ) 의 파일만
find . -mmin -30 -type -f -ls
 
* 특정용량 이상되는 파일 찾기 - 10MB 이상 되는 파일 찾기 예
find [디렉토리] -size +1000k -exec ls -al {} \;

*  생산된지 30일 이상 된 파일만 삭제
find [디렉토리] -type f -ctime +30 -exec rm -rf {} \;

*  생산된지 30일 이상 된 비어있는 디렉토리만 삭제
find [디렉토리] -empty -type d -ctime +30 -exec rmdir {} \;


*  현재 디렉토리( . ) 이하에 확장자가 .html ( -name "*.html" ) 인 파일만 ( -type -f ) 
find . -name "*.html" -type f -ls


* 현재 디렉토리 이하에서 확장자가 .php 인 파일만 삭제하기
find . -name '*.php' -exec rm -f {} \;

* 파일크기가 300KB 이상 ( -size +300k ) 인 파일만
find . -size +300k -ls

* 파일크기가 500bytes 이하 ( -size -500c )인 파일만
find . -size -500c -ls

* 수정한지 20일 이상 ( -mtime +20 ) 된 파일과 디렉토리
find . -mtime +20 -ls

* 수정한지 20일 이상된 파일만
find . -mtime +20 -type f -ls

* 수정한지 20일 이상된 파일만 삭제 ( -exec rm {} \; )
find . -mtime +20 -type f -ls -exec rm {} \;

"-newer file" 은 지정한 파일의 날짜보다 이후에 수정된 파일을 찾아주는 옵션도 있습니다.

* test1 파일보다 이후에 수정된 파일을 검색합니다
find / -newer test1 -print

* test2 파일보다 이전에 수정된 파일을 검색합니다
find / ! -newer test2 -print

* 특정 기간 내 파일의 개수 구하기
find / -newer test1 -a ! -newer test2 -print

파일 수 구하기 : find / -newer test1 -a ! -newer test2 | wc -l

파일 삭제하기 : find / -newer test1 -a ! -newer test2 -exec rm -f {} \;


참고 : jnetwork.co.kr

Comments