JooTC
clock-black-theme

리눅스 파일 시스템의 atime, mtime, ctime

리눅스 atime mtime ctime 시각 표시 방법

리눅스의 파일 시스템에서는 윈도우의 ‘수정된 날짜’, ‘만든 날짜’와 같은 시간 표시 방법이 있습니다. 바로 atime, mtime, ctime으로 불리는 시각 정보(timestamp)입니다.

이러한 시각 정보는 inode(아이노드)에 기록됩니다. inode는 쉽게 말해 파일 마다 가지고 있는 일련의 메타 데이터이며, 파일이 위치한 실제 주소나 권한 정보, 링크 수나 파일 크기 정보 등을 가지고 있습니다.

각자의 시각 정보를 풀이해보겠습니다.

atime (last Access Time)

마지막으로 파일에 접근한 시각입니다.

시스템이나 응용 프로그램이 파일을 읽을 때 시각이 업데이트됩니다. 예를 들어 cat 명령어로 파일 내용을 출력하게 되었을 때 atime이 바뀌게 됩니다.

mtime (last Modification Time)

마지막으로 파일이 수정된 시각입니다.

텍스트 에디팅으로 파일에 내용을 추가하거나, 파일 사이즈를 줄이는 등의 파일 데이터가 변경될 때 업데이트됩니다.

ctime (last Change Time)

마지막으로 파일이 변경된 시각입니다.

mtime은 그저 파일의 데이터가 변경될 때만 시각이 기록되지만, ctime은 상기했던 inode 정보가 변경되었을 때에도 시각이 업데이트됩니다. inode 변경에는 파일의 권한이나 속성, 크기나 링크 정보 등이 해당됩니다.

예를 들면 chmod, chown 명령어를 사용했을 때에 권한 정보가 inode에 다시 업데이트되므로 ctime 값이 바뀌게 됩니다.

mtime과 마찬가지로 데이터 내용을 변경할 때에도 ctime이 변경됩니다.

시각 정보는 주로 디렉토리 내 파일 리스트를 출력할 때 자주 접할 수 있습니다.

일반적으로 ls 명령어의 출력 결과에서 나타나는 시각 정보는 mtime입니다.

$ ls -l
total 4
drwxrwxr-x. 2 user user 6 Jan 13 20:12 folder
-rwxrwxrwx. 1 user user 5 Jan 13 20:22 testfile

만약 atimectime을 보려면 어떻게 해야 할까요? 간단히 ls 명령어에 다음 옵션을 붙여 확인할 수 있습니다.

  • atime : ls -lu
  • ctime : ls -lc

각 파일이나 디렉토리의 시각 정보를 조금 더 자세히 보려면 stat 명령어를 사용하면 됩니다.

$ stat testfile 
  File: ‘testfile’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 101254431   Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    user)   Gid: ( 1000/    user)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2019-01-13 19:15:59.084552439 +0900
Modify: 2019-01-13 19:15:59.084552439 +0900
Change: 2019-01-13 19:15:59.084552439 +0900
 Birth: -

Access와 Modify, Change의 값은 각각 atime, mtime, ctime을 의미합니다.

stat 명령어에 대한 자세한 내용은 다음 포스트를 참고해보세요.

구독
알림
guest

0 Comments
Inline Feedbacks
모든 댓글 보기
0
이 포스트에 대한 의견을 남겨주세요!x