내부에 새 파일을 만들 때 디렉토리 mtime이 항상 변경됩니까?


12

디렉토리에서 새 파일을 만들 때 디렉토리의 mtime이 변경되는 것이 항상 사실입니까?


이것은 테스트하기 매우 쉽습니다 ...
ewwhite

6
쉬운. 그러나 모든 OS 및 파일 시스템에서 한 번에 :)
kolypto

답변:


12

짧은 대답은 그렇습니다 . 더 긴 대답은 다음과 같습니다.

디렉토리는 특별한 종류의 파일입니다. 내용은 (파일 이름, i- 노드) 튜플 세트입니다 . 따라서 튜플이 추가, 제거 또는 변경 될 때마다 디렉토리의 mtime이 업데이트됩니다. 즉, 모든 유형의 파일 (하드 링크 및 디렉토리 포함)이 디렉토리에서 추가, 제거 또는 이름이 바뀝니다 (단, 중첩 된 디렉토리는 아님). 파일 ").

파일의 메타 데이터가 변경되면 (소유자, 그룹, 모드, atime, ctime, mtime -i-node 에서 호스팅 됨 ) mtime 은 업데이트되지 않지만 (파일 또는 디렉토리를 포함하지 않음) 파일의 ctime 은 업데이트됩니다.

IEEE Std 1003.1-2001, 섹션 4.7, 파일 시간 업데이트 의 기본 정의 볼륨을 참조하십시오 .


1
이는 해당 상위 디렉토리 내에서 직접 생성 된 (etc) 파일에 대해서만 적용되며, 상위 디렉토리 아래의 디렉토리에서 작성된 파일 (etc)에는 적용되지 않습니다. 아마도 이것은 다른 사람들에게는 분명하지만 나에게는 그렇지 않았습니다 (답을 찾기 위해 테스트해야했습니다).
logidelic

1
@ logidelic 감사합니다. 분명히하기 위해 답변을 업데이트했습니다.
yrk

디렉토리에 새 파일을 만들 때 디렉토리의 ctime도 변경되는 이유는 무엇입니까?
Mr. Roland
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.