예를 들어 뉴욕 시간대에 파일과 디렉터리를 만듭니다.
그런 다음 내 시스템의 시간대를 런던(영국)으로 변경했지만 여전히 어떤 파일과 디렉터리가 어떤 시간대에 생성되었는지 알고 싶습니다. Unix에서 이를 표시하는 터미널 명령이 있습니까?
답변1
시간대는 파일 및 디렉터리에 기록되지 않습니다. 타임스탬프는 1970년 1월 1일 자정(UTC) 이후의 초 수로 표현됩니다(이 시간을 종종 "에포크"라고 함).
답변2
berndbausch의 답변 외에도 stat
내 시스템에 파일 출력을 게시하고 싶습니다.
$ stat a.out
File: a.out
Size: 16632 Blocks: 40 IO Block: 4096 regular file
Device: 831h/2097d Inode: 17827331 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 1000/ stew) Gid: ( 1000/ stew)
Access: 2021-04-07 16:13:49.880038403 +0200
Modify: 2020-12-20 21:23:03.206200984 +0100
Change: 2020-12-20 21:23:03.206200984 +0100
Birth: 2020-12-20 21:23:03.194201098 +0100
생성 날짜에 관심이 있다면 그것은 "생년월일"이 될 것입니다. 시간은 다음과 같습니다.
2020-12-20 21:23:03.194201098 +0100
지금은 날짜와 초를 무시하고 나머지에만 집중하세요. 그 시간은21:23 +0100. 이는 에 있음을 의미합니다.21:23안에UTC +1시간시간대. 이는 20:23 UTC입니다.
비교해 보면 마지막 액세스 시간이16:13안에UTC + 2시간시간대. 시간대의 차이는 일광 절약 시간과 관련이 있습니다. 이건 들어갈 거야14:13 UTC.
Unix 시간은 에포크(UTC) 이후 초만 추적합니다. 숫자는 사람이 읽을 수 있도록 필요할 때마다 현지 시간으로 변환되며 일반적으로 시스템에 구성된 현재 시간대를 기반으로 합니다. 사실 통계에 시간대가 저장되어 있어서 조금 놀랐어요.