atime, mtime 및 ctime에 대한 Linux 파일 타임스탬프 설명
"변경"이 "수정"을 의미하지 않는 경우는 언제입니까? Linux 파일의 타임스탬프에 관해 이야기할 때. 이 가이드에서는 시스템이 업데이트하는 방법과 직접 수정하는 방법을 설명합니다.
atime, mtime, ctime의 차이점
모든 Linux 파일에는 액세스 타임스탬프(atime), 수정된 타임스탬프(mtime), 변경된 타임스탬프(ctime)의 세 가지 타임스탬프가 있습니다.
액세스 타임스탬프는 파일을 마지막으로 읽은 시간입니다. 이는 누군가가 파일 내용을 보거나 파일의 일부 값을 읽기 위해 프로그램을 사용했음을 의미합니다. 파일에 수정되거나 추가된 내용이 없습니다. 데이터는 참조되지만 변경되지 않습니다.
수정된 타임스탬프는 파일 내용이 마지막으로 수정된 시간을 나타냅니다. 프로그램이나 프로세스가 파일을 편집하거나 조작합니다. "수정됨"은 파일 내의 내용이 수정 또는 삭제되었거나 새 데이터가 추가되었음을 의미합니다.
변경된 타임스탬프는 파일 내용의 변경 사항을 나타내지 않습니다. 오히려 파일과 관련된 메타데이터가 변경된 시점이다. 예를 들어, 파일 권한이 변경되면 변경된 타임스탬프가 업데이트됩니다.
표준 Linux ext4 파일 시스템은 내부 파일 시스템 구조에 파일 생성 타임스탬프를 위한 공간도 할당하지만 아직 구현되지 않았습니다. 때로는 이 타임스탬프가 채워지지만 그 안의 값을 신뢰할 수 없는 경우도 있습니다.
자세한 타임스탬프
Linux 타임스탬프에는 날짜와 시간 대신 숫자가 포함됩니다. 이 숫자는 초 전의 숫자입니다. 유닉스 시대, 00년 00월 00일 자정(1:1970:XNUMX)이었습니다. 협정 세계시(UTC). Linux 타임스탬프에서는 윤초가 무시되므로 실시간과는 전혀 다릅니다.
Linux는 타임스탬프를 표시해야 할 때 초를 날짜와 시간으로 변환합니다. 이렇게 하면 인간이 이해하기가 더 쉬워집니다. 컴퓨터가 파일을 보고 있는 위치와 시간대는 컴퓨터에게 초 수를 날짜와 시간으로 변환하도록 지시합니다. 또한 해당 월이 올바른 언어로 되어 있는지 확인합니다.
그렇다면 타임스탬프에는 몇 초를 저장할 수 있습니까? 많이 - 정확히는 2,147,483,647개입니다. 이것은 큰 숫자이지만 충분합니까? 이를 Unix 시대에 추가한 다음 날짜와 시간으로 변환하면 19년 2038월 03일 화요일 오전 14:07:XNUMX이 됩니다. 그 전에는 타임스탬프에 대해 다른 시스템이 필요합니다.
타임스탬프 표시
-l(longlist) 옵션을 ls와 함께 사용하면 아래와 같이 수정된 타임스탬프를 볼 수 있습니다.
ls -l dp.c
액세스 타임스탬프를 보려면 다음과 같이 -lu(access-time) 옵션을 사용합니다.
ls -lu dp.c
마지막으로 변경 타임스탬프를 보려면 -lc(변경 시간) 옵션을 사용할 수 있습니다. 다음을 작성하세요.
ls -lc dp.c