Unix 시스템은 btime을 지정하지 않거나 일반적으로 POSIX와 유사하며 btime에 대한 사양이 없다는 것을 읽었습니다. btime이 언급되었습니다.
그렇다면 문제는 btime을 어떻게 지정해야 하는가, 아니면 사용자가 원하는 대로 btime을 설정할 수 있느냐는 것입니다. btime을 지정해야 합니까? 그렇다면 POSIX나 POSIX의 후속 버전에 추가하자는 제안이 있었습니다. 내가 제안서를 보낼 수 있는 곳을 누군가가 알려준다면 좋을 것 같습니다.
답변1
"btime"은 "생년월일" 또는 "파일 생성 시간"을 의미한다고 가정합니다. 당신 말이 맞습니다. POSIX는 현재 이것을 지정하지 않으며아니요현재 202x 초안에서도 "btime"이 표준에 언급되어 있습니다. "파일 생성 시간"이 한 번 언급되어 있습니다.pax
.
에서 언급했듯이엠마 루오의 답변, 표준에서는 추가 필드 추가를 허용합니다.struct stat
. 그러나 일부 플랫폼에서는 이를 방지합니다. 예를 들어 Linux에서는 파일 생성 시간을 확인할 수 있습니다.struct statx
, 함수에 의해 반환됩니다 statx
. 필드 struct stat
자체를 추가하면 향후 표준 문제와 충돌할 위험이 있습니다.
이를 바꾸고 싶다면 참여해야 합니다.오스틴 그룹, POSIX 업데이트를 담당합니다. 작동 방식을 숙지하는 데 많은 시간을 투자하고 변경을 제안하기 전에 수동적으로 참여해야 합니다. 표준이 현재 기존 타임스탬프를 정의하는 방법과 해당 타임스탬프가 언급된 위치(업데이트되도록 하는 모든 기능 포함)를 살펴보는 것부터 시작할 수 있습니다.
POSIX는 대부분의 경우 적절한 장소가 아닙니다.운전하다변경; 기능이 어딘가에서 지원되고 유용하다는 것이 입증되면 기능을 문서화하고 표준화하는 경향이 있습니다.
답변2
POSIX확실히정의 btime
. 그러나 그것은 허용합니다통계적 구조,"최소한 다음 구성원이 포함되어야 합니다.btime
”, 따라서 POSIX가 아닌 구현이 이를 포함 하고 여전히 POSIX 규격을 유지할 수 없는 이유가 없습니다 .
...
struct timespec st_atim Last data access timestamp.
struct timespec st_mtim Last data modification timestamp.
struct timespec st_ctim Last file status change timestamp.
...