본문 바로가기
IT/linux

linux find 를 이용해 파일 찾아 지우기

by 어느해겨울 2021. 12. 31.

파일 찾아 지우기

리눅스를 사용하면서 많이 사용하는 find 를 통해 특정 파일 대상으로 -exec 를 통해 명령을 수행할 수 있다.

다른 글에 포스팅 했지만 리눅스 파일 내 텍스트 찾아 바꾸기도 find 의 조합을 이용한 것이다.

https://muabow.tistory.com/180

 

리눅스 파일 내 텍스트 찾아 바꾸기 설명과 예제

리눅스 파일 내 텍스트 찾아 바꾸기 리눅스로 작업을 하다보면 높은 확률로 파일 내의 텍스트를 변경할 경우가 생긴다. 그것도 무척 단조롭고 많은 파일을 대상으로.. 예를 들자면 소스 코드

muabow.tistory.com

그렇다면 특정 파일들만 추출해서 삭제하는 것도 가능하지 않을까? 물론 가능하다.

 

예제와 함께 보자.

# /opt 경로 아래에 "_test"로 끝나는 php 확장자의 파일을 찾아 지운다.
find /opt -name "*_test.php" -t file -exec rm -rf {} \;

# /var/log 경로 아래에 30일 이상 된 파일/디렉토리를 모두 찾아 지운다.
find /var/log -mtime +30 -exec rm -rf {} \;

예제에 써있는 주석을 참고하여 본인이 필요한 패턴으로 수정하여 사용하면 된다.

-exec 이후에는 꼭 삭제(rm)이 아니라 어떤 명령어가 와도 상관없다.

특정 대상을 리스트한다던지(ls), 특정 대상을 복사한다던지(cp) 등등 활용할 수 있겠다.

 

끝.

 

 

댓글