Windows 하드 링크가 공간을 차지합니까?

Windows 하드 링크가 공간을 차지합니까?

내 컴퓨터에서 하드 링크를 만듭니다.

mklink /h git-link.exe git.exe
Hardlink created for git-link.exe <<===>> git.exe

이제 둘 다 공간을 차지해

2012-04-17  12:14 AM         6,905,039 git-link.exe
2012-04-17  12:14 AM         6,905,039 git.exe

이것의 요점은 무엇입니까? 그냥 복사해 놓으면 어떨까요?

답변1

하드링크를 생성하면 디스크의 동일한 물리적 데이터를 가리키는 두 개의 별도 파일 시스템 항목이 생성됩니다.

dir을 수행하면 파일 시스템 항목이 가리키는 위치에 저장되는 데이터의 크기가 표시됩니다.

따라서 단일 파일에 대해 100개의 하드 링크를 생성하면 모두 동일한 크기로 보고됩니다. 즉, 저장된 데이터의 크기를 보고하는 것입니다. 이는 하드링크가 이 공간을 차지한다는 의미는 아닙니다. 실제로는 그렇지 않습니다. 하드 링크는 공간을 거의 차지하지 않습니다.

답변2

그만큼선적 서류 비치Microsoft에서 제공하는 내용이 도움이 될 수 있습니다. (Windows Server 2003의 경우이지만 NTFS 파일 시스템을 사용하는 모든 시스템에서 동일해야 한다고 생각합니다.)

하드 링크의 경우:

Windows 탐색기와 명령 프롬프트에서는 링크된 모든 파일이 동일한 데이터 및 정보를 공유하더라도 동일한 크기로 표시됩니다.실제로 그 정도의 디스크 공간을 사용하지 마십시오.

Windows 탐색기와 dir /s 명령은 재분석 지점을 따라 대상 볼륨의 모든 파일과 폴더 수를 계산한 다음 이를 호스트 볼륨의 통계에 포함합니다. 이로 인해 호스트 볼륨에서 실제로 사용되는 공간보다 더 많은 공간이 사용되고 있다고 오해할 수 있습니다.

chkdsk 출력, NTBackup GUI 또는 백업 로그, 디스크 할당량 보기를 사용하여 볼륨에서 디스크 공간이 어떻게 사용되고 있는지 확인할 수 있습니다. 그러나 Windows 탐색기와 dir 명령은 이 목적으로 사용될 때 몇 가지 제한 사항과 단점이 있습니다.

답변3

사실, 디렉토리 하드 링크(접합)를 사용하는 것은 아무런 의미가 없습니다. 그렇죠?

Explorer가 처리하는 방식을 고려하면 그렇습니다.

내 요점은 예를 들어 디스크 'C'의 물리적 페이로드를 완화하기를 바랄 수 없다는 것입니다(appdata 폴더나 프로그램 파일을 다른 디스크 'E'로 이동하고 하드링크를 사용하여 'C'를 다시 채워서 앱이 계속 작동하도록 하는 것). Windows 탐색기는 해당 링크 "크기"를 'C'의 -아마도- 소비된 공간에 계속 누적하여 하드링크 "가상" 공간 소비와 관련이 있더라도 디스크 'C'에 여유 공간이 부족하자마자 사용자에게 경고를 표시합니다. .

그렇다면 Windows 7의 하드 링크는 무엇입니까? 큰 실망.

관련 정보