[bash: find] 최근에 접근/변경된 파일 찾기 리눅스 bash script

특정 디렉토리 하위에서 최근에 내용이 변경되거나(modified) 접근되거나(accessed) 상태가 변경된(changed) 파일을 찾아내는 방법이다. find 명령을 이용하면 간편하게 찾을 수 있다. 만약 find 명령에 익숙하지 않다면 다른 게시물들을 참고하자. 여기로

일단 기본적인 파일 검색은 아래의 예시와 같은 형태를 가진다.

# 현재 디렉토리(./) 및 그 하위 디렉토리에 있는 파일(-type f) 검색
find ./ -type f

위의 기본 명령에 시간 관련 옵션을 추가할 수 있다. 시간 옵션은 분(minute) 또는 일(day) 단위로 가능하다. 예시를 몇개 보면 금방 감을 잡을 수 있을 것이다.

내용이 변경된(modified) 시간을 분 단위로 지정하려면 -mmin 옵션을 이용한다. 변경된 시간이 10분전이라면 "-mmin 10", 10분내라면 "-mmin -10", 10분 넘게 지났다면 "-mmin +10" 이렇게 된다. 아래의 예시를 보자.

# 10분전에 내용이 변경된 파일 찾기 (딱히 별로 쓸모 없음;;)
find ./ -type f -mmin 10

# 10분내에 변경된 파일 찾기(변경된 시간 0~9분전)
find ./ -type f -mmin -10

# 변경된지 10분 넘게 지난 파일 찾기(11분 이상)
find ./ -type f -mmin +10

변경된(modified) 시간을 일 단위로 지정하려면 -mtime 옵션을 이용한다. -mmin 옵션과 동일한 방식이다. 아래의 예시를 보자.

# 1일(24시간)내에 변경된 파일 찾기
find ./ -type f -mtime -1

# 변경된지 1일 넘게 지난 파일 찾기
find ./ -type f -mtime +1

접근된(accessed) 시간은 -amin 옵션과 -atime 옵션을 이용한다. 요령은 동일하다.

# 10분내에 접근된 파일 찾기
find ./ -type f -amin -10

# 1일내에 접근된 파일 찾기
find ./ -type f -atime -1

권한(permission) 등 상태가 변경된(changed) 시간을 지정하고 싶다면 -cmin 옵션과 -ctime 옵션을 이용하면 된다.

# 10분내에 상태변경이 있었던 파일 찾기
find ./ -type f -cmin -10

최근에 어느 파일이 변경되었는지 찾고자 할 때 아주 요긴하다.

# 3일내에 내용이 변경된 txt 파일 찾기
find ./ -type f -mtime -3 | grep "\.txt"
 


핑백

덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

71342
4132
1862262

ad_widget_2