linux - 타임스탬프 수정

리눅스에서 타임스탬프는 파일이나 디렉토리의 생성 시간, 수정 시간, 접근 시간 등을 나타냅니다. 이 타임스탬프는 일반적으로 시스템이나 명령어에 의해 자동으로 관리되지만, 수정도 가능합니다.


🔧 타임스탬프 종류

종류 의미 ls 옵션
atime 마지막 접근 시간 ls -lu
mtime 마지막 내용 수정 시간 ls -l
ctime 마지막 메타데이터 변경 시간 ls -lc
💡 ctime은 파일의 권한 변경 등으로 갱신되며 직접 수정할 수는 없음.

 


🛠️ 타임스탬프 수정 방법

1. touch 명령어 사용

✅ 기본 동작

touch file.txt
  • atime (접근 시간)과 mtime (수정 시간)을 현재 시간으로 갱신함

 

✅ 특정 시간으로 타임스탬프 설정

touch -t [[CC]YY]MMDDhhmm[.ss] file.txt
  • -t 옵션은 시간을 직접 지정할수있음
  • 형식은 년월일시분초 (초는 생략가능함)

 

 

mtime만 수정

touch -m -t 202406161530 file.txt
  • -m: 수정 시간(mtime)만 설정
  • 접근 시간(atime)은 그대로 둠

 

atime만 수정

touch -a -t 202406151000 file.txt
  • -a: 접근 시간(atime)만 설정
  • 수정 시간(mtime)은 그대로 둠

 

✅파일의 타임스탬프를 다른 파일과 일치시키기

touch -r source.txt target.txt
  • target.txt의 타임스탬프를 source.txt와 동일하게 설정
  • -r = reference