리눅스 시스템에서 find
명령어는 파일을 검색하고 조건에 따라 동작할 때 사용되는 강력한 도구이다. Timestamp(타임스탬프)는 파일의 생성 시간, 수정 시간, 액세스 시간과 관련된 정보로, find
명령어에서는 이러한 타임스탬프 정보를 기반으로 파일을 검색할 수 있는 다양한 옵션을 제공한다. 이 글에서는 find
명령어의 Timestamp 옵션을 상세히 살펴보고자 한다.
Timestamp 옵션
다음은 find
명령어에서 사용할 수 있는 Timestamp 옵션이다.
옵션 | 설명 |
-mmin | 파일의 데이터가 마지막으로 수정 된 시간 (분 지정) |
-mtime | 파일의 데이터가 마지막으로 수정 된 날짜와 시간 (일 지정) |
-amin | 파일의 데이터에 마지막으로 액세스 한 시간 (분 지정) |
-atime | 파일의 데이터에 마지막으로 액세스 한 날짜와 시간 (일 지정) |
-cmin | 파일 데이터 및 상태가 마지막으로 수정 된 시간 (분 지정) |
-ctime | 파일 데이터 및 상태가 마지막으로 수정 된 날짜와 시간 (일 지정) |
시간 지정 개념 정리
각 옵션에 따른 분 또는 일수를 지정하는데, 부호를 사용할 수 있다. 부호를 사용할 때 그 의미를 제대로 알고 사용해야 하는데, 좀 복잡해 보일 수 있다. 정리한다면 다음과 같이 정리할 수 있다.
음수(-) 사용
find -mtime -3
현재로 부터 3일(3 * 24) 이전 까지를 지정한다. 오늘이 10일이라면 7일 ~ 10일까지를 의미한다.
부호 없이 사용
find -mtime 3
현재로 부터 3일 이전 일수를 지정하는 것으로 -mtime -3
보다 하루 전을 의미한다.
양수(+) 사용
find -mtime +3
-mtime 3
보다 이전을 의미한다.
시간 범위 정리
+부호가 붙었을 때 혼동하기 쉬운데, 만약 +4라고 하면, 4일 전이라고 생각하기 쉬운데, 4일전 당일 그 이전이기 때문에 5일전이된다. +4와 0 사이의 시간 범위를 정리하면 다음과 같다.
Timestamp 옵션 사용 예제
액세스 시간이 7일 이내인 파일 검색
find . -atime -7
최근 3일 동안 변경된 파일 검색
find /etc -ctime -3
10일 이전에 수정된 파일 검색
find /tmp -mtime +10
논리 연산자 활용
find
명령어는 여러 타임스탬프 옵션을 조합하여 논리적인 검색을 수행할 수 있다.
최근 7일 이내에 수정되고 3일 이내에 액세스된 파일 검색
find /opt -mtime -7 -atime -3
정리 및 주의사항
- Timestamp는 파일의 메타데이터 중 하나로, 파일의 상태 변경, 수정, 액세스 등과 관련이 있다.
find
명령어에서 사용하는-atime
,-ctime
,-mtime
는 24시간 단위로 계산된다.- 날짜와 시간은 상대적인 값 또는 구체적인 날짜 및 시간 포맷으로 지정할 수 있다.
참고 사이트
- Linux
find
command:find
명령어의 공식 매뉴얼 페이지. - Linux File Timestamps Explained: 리눅스 파일의 타임스탬프에 대한 상세한 설명.