리눅스 find, mtime, ctime, atime

by J uu

리눅스에서 다양한 시간정보(Timestamps)를 기록하는데 inode 라는 곳에 저장이 된다. inode에 저장되는 시간정보는 ctime, mtime, atime이 있다. ctime은 변경시간 mtime은 수정시간 atime은 접근시간 이다.

atime (access time, 접근 시간)

atime은 파일에 접근한 시간을 나타낸다. 파일을 open 할 때마다 갱신이 되며 vi, cat 명령으로 파일 확인시 atime의 값이 변한다. ls -lu

mtime (modification time, 수정 시간)

파일의 내용이 수정될 때 mtime 시간이 변한다. ls -l

ctime (change time, 변경 시간)

inode의 값 (파일 속성, 권한, 크기 등)이 변경되면 ctime이 갱신된다. ls -lc

stat 명령어로 파일 상태 정보 출력 가능하다.

find 에서 타임스탬프로 파일 검색

find -mtime n (일수)에서 'n일 = n*24시간' 이다 달력상의 일수가 아니다.

find -mtime -2 : 2일(48시간) 이내에 수정된 파일
find -mtime 2 : 3일(72시간) 에서 2일(48시간) 사이에 수정된 파일
find -mtime +2 : 3일(72시간) 보다 과거인 보다 이후에 수정된 파일

이해가 안간다면 아래 사이트의 그림으로 이해를 해보자.

egg.pe.kr

예시 명령어

# 수정된지 8일 이상된 모든 형식의 파일들 삭제
find /home/service/*.* -mtime +7 -exec rm -f {} \;
## 백업용으로 파일들 다른 곳에 원형 그대로 copy
find /home/tomcat/logs/*.* -mtime +7 -exec cp -ar {} /home/backup \;

'OS > Linux' 카테고리의 다른 글

CentOS 7 최소설치 후 ifconfig가 없다고 나올 때  (0) 2021.08.20
리눅스 파일 삭제, 찾기 명령어  (0) 2021.08.18