본문 바로가기
IT/LINUX

리눅스 시간 atime ctime mtime amin cmin mmin 개념 정리

by SidePower 2021. 1. 15.

 

리눅스 파일 시스템에 의해 파일에는 타임스탬프가 3가지입니다.

 

Access time : 파일 접근 시간

Modify time : 파일 정보 변경 시간

Change time : 파일 내용 변경 시간

 

stat 명령어로 간단하게 파일에 대한 타임스템프를 확인할 수 있습니다.

stat str.txt

File: str.txt
Size: 80                     Blocks:  8                IO Block:    4096        일반 파일
Device: fd00h/64768d   Inode:  3453456       Links:  1
Access: (0664/-rw-rw-r--)  Uid:  ( 1000/sidepower)    Gid:  ( 1000/sidepower)
Context: unconfined_u:object_r:user_hoem_t:s0
Access: 2021-01-08 09:26:50.738239382-0500
Modify: 2021-01-08 09:26:50.738239382-0500
Change: 2021-01-08 09:26:50.738239382-0500
Birth: -

 

 

리눅스 타임스탬프은 파일이나 디렉터리 검색 시

시간 범위를 지정할 수 있어 아주 유용하게 사용되고 있습니다.

 

 

타임스탬프를 이용하는 옵션을 정리했습니다.

 

atime

파일 접근 시간 ( access time )

파일을 vi 또는 편집기를 통해 open 했을 때 시간입니다.

 

시간 확인 명령어 : ls -lu

 

ctime

파일 정보 변경 시간 ( change time )

파일의 내용이 수정됐거나 소유권(chown), 권한(chmod) 등

파일 정보가 수정된 시간입니다.

 

시간 확인 명령어 : ls -lc

 

mtime

파일 내용 변경 시간 ( modification time )

파일의 내용을 수정하고 저장된 시간입니다.

내용을 수정되면 ctime도 변경되므로 ctime과 mtime이 같게 됩니다.

현업에서 주로 사용하는 시간입니다.

 

시간 확인 명령어 : ls -l

 

 

추가로

분 단위로 시간도 find 명령어에서 사용할 수 있어 간단하게 정리합니다.

 

 amin

파일 접근 분단위 시간 ( access time )

 

cmin

파일 정보 변경 분단위 시간 ( change time )

 

 mmin

파일 내용 변경 분단위 시간 ( modification time )

현업에서 주로 사용하는 시간입니다.

 

 

● 시간 사용법 

리눅스에서 시간을 지정해서 검색할 때는

고정된 날짜와 시간 값으로 사용할 수 없습니다.

 

명령어를 수행하는 지금의 시간을 기준으로

타임스탬프의 24시간 단위로 검색을 할 수 있습니다.

 

예를 들어

2021년 1월 1일 파일 찾기는 안되고

지금 시간을 기준으로 24시간 전에 파일은 찾을 수 있습니다.

 

★ 시간을 지정하는 숫자와 숫자 앞에 + 와 - 기호를 사용합니다.

 

숫자 

시간단위 : mtime, ctime, atime

24시간 단위를 표시합니다.

0은 지금 시간

1은 24

2는 48

3은 52

.... 지정된 숫자 곱하기 24를 한다고 생각하시면 될 거예요.

 

분단위 : mmin , cmin , amin

분단위 숫자를 표시합니다.

10은 10분

2는 2분

0.5는 30초

120은 120분 , 2시간

... 지정된 숫자가 분단위 숫자입니다.

 

숫자보다 과거의 시간 또는 분을 가리킵니다.

 

숫자보다 현재까지의 시간 또는 분을 가리킵니다.

 

 

◎ 시간 범위 

mtime , ctime , atime

시간단위

지정된 숫자 X 24 를 기준시간으로 정하고

기준시간에서 24시간 과거 시간까지를 시간범위로 합니다.

0 : -24h ~ 현재

1 : -48h ~ -24h

2 : -72h ~ -48h

+ 면 시간범위보다 과거 시간이 대상이고

- 면 기준시간부터 현재까지 대상입니다.

 

분단위

지정된 숫자를 기준분으로 정하고

+ 면 기준분의 과거 시간이 대상이고

- 면 기준분부터 현재까지가 대상입니다.

 

 

예제를 보시면 이해하기 편하실 거예요.

 

▩ 공통

명령어 수행시간 → 2021년 1월 10일 17시 40분

현업에서 주로 사용되는 mtime 으로 예제를 만들었습니다.

ctime , atime 동일하게 사용하시면 됩니다.

 

① -mtime 0

0 이므로 명령어 수행시간이 기준시간이 됩니다.

기준시간 : 2021년 1월 10일 17시 40분

시간범위 : 2021년 1월 9일 17시 40분 ~ 2021년 1월 10일 17시 40분

검색시간 : 2021년 1월 9일 17시 40분 ~ 2021년 1월 10일 17시 40분

숫자 앞에 + 또는 - 가 없으면 시간범위가 검색시간이 됩니다.

 

② -mtime +1

1 X 24 가 기준시간이 되므로

기준시간 : 2021년 1월 9일 17시 40분

시간범위 : 2021년 1월 8일 17시 40분 ~ 2021년 1월 9일 17시 40분

숫자 앞에 + 가 있으므로 과거시간.

검색시간 : 2021년 1월 8일 17시 40분보다 과거시간 전체가 대상입니다.

 

③ -mtime -7

7 X 24 가 기준시간이 되므로

기준시간 : 2021년 1월 3일 17시 40분

시간범위 : 2021년 1월 2일 17시 40분 ~ 2021년 1월 3일 17시 40분

숫자 앞에 - 가 있으므로 현재까지.

검색시간 : 2021년 1월 3일 17시 40분 ~ 2021년 1월 10일 17시 40분 

 

④ -mmin 7

7분전이 대상입니다.

수행시간 : 2021년 1월 10일 17시 40분

기준시간 : 2021년 1월 10일 17시 33분

검색시간 : 2021년 1월 10일 17시 33분

 

⑤ -mmin +7

7분전 보다 과거가 대상입니다.

수행시간 : 2021년 1월 10일 17시 40분

기준시간 : 2021년 1월 10일 17시 33분

검색시간 : 2021년 1월 10일 17시 32분부터 과거시간 전체 대상입니다.

 

⑥ -mmin -7

7분전에서 현재까지 대상입니다.

수행시간 : 2021년 1월 10일 17시 40분

기준시간 : 2021년 1월 10일 17시 33분

검색시간 : 2021년 1월 10일 17시 34분 ~ 2021년 1월 10일 17시 40분

 

⑦ -mtime -5 -mtime +1

시간을 여러개 사용해 범위를 지정할수 있습니다.

수행시간 : 2021년 1월 10일 17시 40분

-5 시간범위 : 2021년 1월 5일 17시 40분에서 현재까지.

+1 시간범위 : 2021년 1월 8일 17시 40분보다 과거시간.

검색시간 : 2021년 1월 5일 17시 40분 ~ 2021년 1월 8일 17시 40분

 

감사합니다.

반응형

댓글