반달가면 이글루에서 백업 - http://bahndal.egloos.com/565007
특정 디렉토리 하위에서 최근에 내용이 변경되거나(modified) 접근되거나(accessed) 상태가 변경된(changed) 파일을 찾아내는 방법이다.
일단 기본적인 파일 검색은 아래의 예시와 같은 형태를 가진다.
# 현재 디렉토리(./) 및 그 하위 디렉토리에 있는 파일(-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"
'bash script' 카테고리의 다른 글
[bash: grep] 여러개의 문자열이 특정 순서로 나오는 행 찾기 (0) | 2023.04.18 |
---|---|
[bash: awk] 특정 위치(field)에 있는 문자열 바꾸기 (sub, gsub) (0) | 2023.04.18 |
[bash: awk] 다중 문자열 검색 (0) | 2023.04.17 |
[bash: grep, sed] grep 명령에 변수를 인자로 사용할 때 정규표현식 문제 해결 (1) | 2023.04.17 |
[bash: awk] IP주소 표시 형태 변환 (0) | 2023.04.17 |