반응형
ind 명령어로 일정기간, 특정용량 파일 삭제 및 찾기
* 일정기간 지난 파일 삭제 명령 – 7일 지난 파일 삭제 예
find [디렉토리] -ctime +7 -exec rm -f {}
* 특정용량 이상되는 파일 찾기 – 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 {}
– 현재 디렉토리 내 확장자가 txt인 파일들을 중에서 “홍길동”이라는 문자열을 갖고 있는 파일의 한 줄과 이름을 보여준다.
find . -name “*.txt” | xargs grep 홍길동
– 이 때 검색어로 사용된 문자열은 색을 달리하여 표시하고 싶다면
find . -name “*.txt” | xargs grep –color=auto 홍길동
– 검색어의 위치(줄번호)를 같이 표기하고 싶다면
find . -name “*.txt” | xargs grep -n 홍길동
– 대소문자를 구분하고 싶지 않다면
find . -name “*.txt” | xargs grep -i LgMobile
즉, LGMobile, LGMOBILE, lgMobile을 가리지 않고 찾는다.
– 현재 디렉토리 내 확장자가 txt인 파일들을 중에서 “홍길동”이라는 문자열을 갖고 있는 파일의 이름만 보고 싶다면
find . -name “*.txt” | xargs grep -l 홍길동
– 검색 결과에 다음과 같은 메시지가 포함된다면
grep: [특정경로]: No such file or directory
2>/dev/null 을 추가하면 해당 메시지를 표시하지 않고 찾은 결과만 볼 수 있다. 즉,
find . | xargs grep 2>/dev/null 홍길동
– 모든 옵션은 함께 사용 가능하다.
find . -name “*.txt” | xargs grep –color=auto -n 2>/dev/null 홍길동
※ 리눅스 버전에 따라 -ctime 이 먹지 않는 경우가 있다. 이때는 -mtime 으로 대체한다 (의미는 다르지만….)
* 현재 디렉토리( . ) 이하에 확장자가 .html ( -name “*.html” ) 인 파일만 ( -type -f )
find . -name “*.html” -type f -ls
find . -name “*.html” -type f -ls
* 현재 디렉토리 이하에서 확장자가 .php 인 파일만 삭제하기
find . -name ‘*.php’ -exec rm -f {}
find . -name ‘*.php’ -exec rm -f {}
* 파일크기가 300KB 이상 ( -size +300k ) 인 파일만 (호스팅 되는 홈피내에 큰 사이트의 파일이 있는지 찾을 때 유용)
find . -size +300k -ls
find . -size +300k -ls
* 파일크기가 500bytes 이하 ( -size -500c )인 파일만
find . -size -500c -ls
find . -size -500c -ls
* 수정한지 20일 이상 ( -mtime +20 ) 된 파일과 디렉토리
find . -mtime +20 -ls
find . -mtime +20 -ls
* 수정한지 20일 이상된 파일만
find . -mtime +20 -type f -ls
find . -mtime +20 -type f -ls
* 수정한지 20일 이상된 파일만 삭제 ( -exec rm {} ) ( 정기적으로 20일지 지난 파일을 삭제할 때 유용 )
find . -mtime +20 -type f -ls -exec rm {}
find . -mtime +20 -type f -ls -exec rm {}
* 수정한지 3일 이내 ( -mtime -3 ) 의 파일만 ( 백업할 때 유용 )
find . -mtime -3 -type f -ls
find . -mtime -3 -type f -ls
* 수정한지 30분 이내 ( -mmin -30 ) 의 파일만
find . -mmin -30 -type -f -ls
find . -mmin -30 -type -f -ls
반응형