[Linux] find 명령어 and TIP

by 자꾸만 posted Jul 23, 2012
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
# find [시작점] [옵션] [형식] -print

시작점 : 해당 디렉토리를 기준으로 해당 디렉토리 하위의 모든 파일음 검색
-print 는 default로 적용 되어 있어 안써줘도 무방함.

find / -name app* -print
=> /(루트) 하위. 즉, 전체 디렉토리에서 파일명이 app로 시작되는 모든 파일을 검색

find / -size +102400k -print
=> 크기가 100M 이상 파일 검색(검색할 때는 k 단위로 검색)

find / -mtime -10 -print
=> mtime (modification time=수정시간), 최근 10일이내 변경된 파일만 검색
  => -n : n일 이전 +n : n일 이후

find / -atime -10 -print
=> atime(access time=접근 시간), 최근 10일이내 접근한 파일 검색
=> -n : n일 이전 +n : n일 이후

find / -perm -4000 -print
=> perm(permition),setuid가 걸린 파일 검색

find / -inum 123456 -print
=> inod number가 123456인 파일 검색

# find 명령어 TIP

find / -name *.log -exec rm {}₩;
=> log 라는 이름이 들어간 파일을 찾아서 삭제

find . -mtime +10 -exec rm {}₩;
=> 10일 이전에 변경 된 파일을 찾아서 삭제 (다수 log 삭제 시 유용)

find . -mtime -10 -exec cp {} /ddd/ \;
or find . -mtime -7 | awk '{print "cp "$1" /ddd/" }' | sh
=> 10일 이내에 변경 된 파일을 찾아서 해당 디렉토리로 복사 (파일명이 복잡한 경우 유용)