NTFS“비밀”?

몇 주 전에 NTFS 의 Wikipedia 항목을 읽고 Windows 탐색기에서 쉽게 알 수없는 여러 다른 기능 중에서 Symbolic Links 를 사용할 수 있음을 알았습니다 .

Wikipedia에 문서화되어 있지 않은 다른 유용한 기능은 무엇 이며 이러한 기능에 어떻게 액세스 할 수 있습니까? 이러한 기능을 조작 / 생성 / 사용하는 데 사용되는 타사 프로그램, 레지스트리 설정, 숨겨진 구성 창, cli 등이 있습니까?

업데이트 : 이것을 커뮤니티 위키로 바꾸십시오.



답변

Microsoft는이를 위해 둘 이상의 Sysinternals 도구를 배포합니다.

  1. 접합 은 접합점 (기호 링크)을 조작 할 수있게합니다.
  2. 스트림 은 대체 데이터 스트림을 보여줍니다. 또한이 페이지는 :stream명령 줄에서 구문을 조작 하는 구문을 보여줍니다 .

답변

대체 데이터 스트림 -LADS 도구를 사용하여 열거 할 수 있습니다.

예를 들어 다음을 수행하여 만들 수 있습니다.

메모장 test.txt : adsname1
메모장 test.txt : adsname2
메모장 test.txt

탐색기에서 3은 모두 1 개의 파일로 표시되지만 동일한 파일 이름에 연결된 다른 스트림입니다.


답변

NTFS는 Win32 API가 지원하지 않는 파일 이름을 지원합니다. 예를 들어 POSIX 하위 시스템은 다음 이름을 허용합니다 (Windows 내부 책에서).

"TrailingDots..."
"SameNameDifferentCase"
"samenamedifferentcase"
"TrailingSpaces    "

분명히 ‘dir / x’를 사용하여 여전히 모든 것을 볼 수 있습니다

정말 긴 파일 경로 (최대 32,000 자)로 파일 을 만들 수도 있습니다 . 여전히 탐색기에서 볼 수 있지만 쉽게 삭제할 수는 없습니다.


답변

윈도우 내부 구조 에 의해 마크 러시 노 비치는 NTFS로 장하고 무엇을 수행하고 지원하지 않습니다 있습니다. 5 판에서는 11 장에서 Windows NT가 지원하는 모든 파일 시스템에 대해 다루고 NTFS 내부에 대해 자세히 설명합니다.


답변

내가 실수하지 않으면 Windows fsutil 명령은 NTFS의 모호한 기능을 대부분 노출합니다. Start -> Run -> cmd.exe -> fsutil /?더 많은 정보를 위해서.


답변

NTFS는 “기호 링크”를 지원합니다.

  • 모든 NTFS 버전의 디렉토리 (MS 용어 : “접합”)
  • 파일 용 ( Vista 및 Server 2008 이후 CreateSymbolicLink 사용 )

또한 Windows 2000부터 CreateHardLink 기능을 통해 파일에 대한 하드 링크를 지원합니다 .

이 페이지를 확인하십시오 : 하드 링크 및 접속점 .

나는 CreateHardLink파이썬 스크립트에서 (파이썬 ctypes모듈을 통해 ) 사용했습니다. 중복 파일을 찾아서 어떤 조건에서는 하드 링크로 바꾸어 일반적인 Windows 설치에서 많은 공간을 확보하는 “중복 자”스크립트도 있습니다.


답변

1997 년 O’Reilly는 Windows NT 파일 시스템 내부를 공개했습니다 . 오래된 정보이므로 많은 정보가 오래되었을 수 있습니다. 그러나 많은 정보를 포함해야합니다.