문제

Windows에서 하드 링크를 만들 수있는 방법을 찾고 있었고이 페이지를 찾았습니다. http://technet.microsoft.com/en-us/library/cc788097.aspx

시도해 보려면 C : 드라이브의 루트에 파일 (1.txt)을 다음 내용의 100 줄로 만들었습니다.

C : 1.txt (2.598 바이트) :

test test test test test

그런 다음 명령 프롬프트를 열고 입력했습니다.

fsutil hardlink create C:\2.txt C:\1.txt

성공, 2.txt는 만들어졌지만 크기를 보러 갈 때 정확히 2.598 바이트가 있으며 또한 이상한 행동을 발견했습니다 (하드 링크에 대한 이해가 진행되는 한).

  1. 2.txt (하드 링크 된 파일) 1.txt가 삭제되지 않고 그 반대로 삭제하면
  2. 1.txt (원본 파일)를 삭제 한 후 2.txt를 열면 컨텐츠는 여전히 동일합니다.

fsutil hardlink 생성 명령은 사본 명령과 어떻게 다릅니 까? Windows 아래에서 진정한 하드 링크를 어떻게 만들 수 있습니까?

Windows XP SP 3을 사용하고 있으며 파일 시스템은 NTFS입니다.

도움이 되었습니까?

해결책

그것이 바로 일어날 행동입니다. 링크가 어떻게 작동하는지 이해하고 있습니까? 하드 링크는 실제로 동일한 파일을 참조하는 파일 시스템의 여러 항목입니다. 파일에 대한 하드 링크를 작성하고 파일 인스턴스 중 하나를 수정하면 다른 파일은 디스크의 동일한 데이터 블록을 참조하기 때문에 변경 사항과 함께 표시됩니다.

하드 링크 중 하나를 삭제하면 해당 파일을 참조하는 파일 시스템 항목 중 하나를 삭제하는 것입니다. 삭제 될 때까지 파일이 삭제되지 않습니다 모두 하드 링크 (원래 링크 포함). 1.txt를 삭제 한 후 2.txt는 여전히 존재하며 원래있는 것과 동일한 파일을 나타냅니다. 이제는 해당 파일 (즉, 2.txt)을 참조하는 단일 파일 시스템 항목 만 있습니다. 2.txt ~이다 그 파일.

다른 팁

fsutil hardlink 생성 명령은 사본 명령과 어떻게 다릅니 까? Windows 아래에서 진정한 하드 링크를 어떻게 만들 수 있습니까?

하드 링크 파일을 만든 후에는 편집을 해보십시오. 변경 사항이 두 파일에 모두 반영되어 있음을 알게됩니다.

매우 큰 파일의 하드 링크 (비디오 또는 디스크 이미지)를 만들어보십시오. 새로운 DIR 항목을 반영하기 위해 추가 메타 데이터를 디스크에 작성 해야하는 경우 디스크의 사용 가능한 공간이 변경되지 않았거나 몇 바이트만큼 변경되지 않았습니다.

그것은 진정한 하드 링크입니다. UNIX (Windows 변형에 익숙하지 않음)에서 파일은 디스크의 데이터 세트 일뿐입니다 (단순하게). 해당 파일에 이름을 부여하는 디렉토리 항목 자체입니다.

동일한 기본 파일을 가리키는 두 개의 디렉토리 항목이 있으면 그 중 하나를 삭제하면 ~ 아니다 파일이 첨부 된 마지막 디렉토리 항목이 아닌 한 파일을 삭제합니다 (파일은 프로세스에 의해 여전히 열리지 않지만 다른 문제입니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top