누군가 MSDN의 "하드 링크 및 접합" 기사를 이해할 수 있습니까?

누군가 MSDN의 "하드 링크 및 접합" 기사를 이해할 수 있습니까?

~에하드 링크 및 접합MSDN 기사 1에서는 다음을 읽을 수 있습니다.

하드 링크는 둘 이상의 경로가 동일한 볼륨에 있는 단일 파일을 참조하는 파일의 파일 시스템 표현입니다. 하드 링크를 생성하려면 CreateHardLink 함수를 사용하십시오. 해당 파일에 대한 모든 변경 사항은 해당 파일을 참조하는 하드 링크를 통해 해당 파일에 액세스하는 응용 프로그램에 즉시 표시됩니다. 그러나 디렉토리 항목 크기 및 속성 정보는 변경이 이루어진 링크에 대해서만 업데이트됩니다. 파일의 속성은 해당 파일에 대한 모든 하드 링크에 반영되며 해당 파일 속성의 변경 사항은 모든 하드 링크에 전파됩니다. 예를 들어 특정 하드 링크를 삭제하기 위해 하드 링크의 READONLY 속성을 재설정하고 실제 파일에 대한 하드 링크가 여러 개 있는 경우 나머지 하드 링크 중 하나에서 파일의 READONLY 비트를 재설정해야 합니다. 파일과 나머지 모든 하드 링크를 다시 READONLY 상태로 되돌립니다.

누군가 위 단락을 이해할 수 있습니까?
진술이 아닌가?파일의 속성은 해당 파일에 대한 모든 하드 링크에 반영됩니다.진술과 동등하다해당 파일 속성에 대한 변경 사항이 모든 하드 링크에 전파됩니다.?
어쩌다보니재설정 중READONLY 비트는파일과 나머지 모든 하드 링크를 다시 READONLY 상태로 되돌립니다.?

편집하다

이 질문에 대한 JdeBP의 탁월한 답변을 읽은 후에도 여전히 의심이 남아 있습니다.

$STANDARD_INFORMATION답변에 따라 이 항목을 가리키는 각 하드 링크에 대해 MFT 항목의 부분 복사본이 있다는 것을 이해합니다.하드 링크의 이름이 바뀌거나 생성되거나 삭제되지 않는 한 최신 상태로 유지되지 않습니다.. 하드 링크의 속성을 읽으면 어떤 일이 발생합니까? 이 하드 링크의 복사본은 $STANDARD_INFORMATION현재 상태를 반영하지 않을 수 있고 속성이 MFT 항목의 에서 직접 읽혀지기 때문에 무시되는 것 같습니다 $STANDARD_INFORMATION. 또한 이 프로세스 중에는 귀하가 나열한 작업이 아니기 때문에 정보가 업데이트되지 않습니다. 그렇습니까?

파일에 대한 하드 링크 삭제를 활성화하기 위해 R 비트를 끄기로 설정한 경우(마지막 링크가 아니라고 가정) 파일을 만들기 위해 어떤 방식으로든 R 비트를 다시 설정해야 합니다. 다시 읽기 전용입니다.

이제 이해가 안 돼요그게 마지막 링크가 아닐 거라고 추측해서부분. 마지막 링크인 링크가 여기서 어떤 차이를 가져오는지 알 수 없습니다. 여전히 파일(MFT 항목) 자체가 있으며 해당 속성을 직접 변경할 수 있습니다(링크를 통하지 않고). 아니면 파일이 있는 경우 MFT 항목과 파일 사이에 일대일 대응이 없음을 의미하는 링크가 있습니까?

답변1

말했듯 이 grawity, 두 번째 "재설정"은 잘못된 글쓰기이거나 명백한 실수입니다.

진술이 아닌가?파일의 속성은 해당 파일에 대한 모든 하드 링크에 반영됩니다.진술과 동등하다해당 파일 속성에 대한 변경 사항이 모든 하드 링크에 전파됩니다.?

아니요. 기사에서는 대상 독자에게 구현 세부 사항이 너무 많은 내용을 언급하고 있습니다. NTFS에서 MFT의 각 항목은 0개 이상의 항목을 가질 수 있습니다.$FILE_NAME 속성. 이는 파일에 대한 각 하드 링크에 대한 상위 디렉토리와 해당 디렉토리 내의 이름을 기록합니다. 그러나 그들은또한레코드 파일 속성 플래그,~ 일지라도해당 플래그는 MFT 항목의 단일 $STANDARD_INFORMATION속성에 기록됩니다. 규칙은 사소하고 복잡하지만 간단히 말해서 $STANDARD_INFORMATION중요한 것은 $FILE_NAME하드 링크의 이름이 바뀌거나 생성되거나 파괴되지 않는 한 정보는 최신 상태로 유지되지 않습니다. 이를 위해서는 속성을 터치해야 $FILE_NAME하며 현재 속성 플래그는 $FILE_NAME속성에 전파될 수 있습니다.

개발자는 MSDN 기사를 작성한 기술 작성자에게 NTFS의 세부 사항을 설명했을 것입니다. 그러나 실제로는 최종 사용자나 심지어 애플리케이션 프로그래머와도 아무런 관련이 없습니다. 이는 NTFS 작동 방식에 대한 내부 세부 정보입니다. Win32 관점에서 파일/디렉토리는 정확히하나속성 플래그 집합을 업데이트하고 이를 업데이트하는 것이지만 이는 완료된 것입니다. 파일에 대한 하드 링크 삭제를 활성화하기 위해 비트를 끄면 R(마지막 링크가 아니라고 가정) R파일을 읽을 수 있도록 어떤 방식으로든 비트를 다시 설정해야 합니다. 또.

관련 정보