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

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

728x90

반응형

파일 찾아 지우기

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

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

https://muabow.tistory.com/180

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

예제와 함께 보자.

# /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) 등등 활용할 수 있겠다.

끝.

728x90

반응형

from http://muabow.tistory.com/239 by ccl(A) rewrite - 2021-12-31 16:26:27