심볼릭 링크: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
59번째 줄:
심볼릭 링크는 [[POSIX]] 운영 체제와의 마이그레이션, 응용 프로그램 호환성을 보조하도록 설계되었다. 마이크로소프트는 비스타의 심볼릭 링크가 "유닉스 링크와 같은 기능"을 하도록 목표로 정했다.<ref>[http://msdn2.microsoft.com/en-us/library/aa365680.aspx Symbolic Links], MSDN Library, Win32 and COM Development, 2008-01-18</ref> 그러나 이러한 구현은 여러 방면에서 유닉스 심볼릭 링크와 다르다. 이를테면 비스타 사용자들은 심볼릭 링크를 만들 때 그것이 파일인지 디렉터리인지 수동으로 지시해 주어야 한다.<ref>[http://msdn2.microsoft.com/en-us/library/aa363866.aspx CreateSymbolicLink Function], MSDN Library, Win32 and COM Development</ref> 비스타는 단일 경로에 31개의 심볼릭 링크로 그 수를 제한하고 있다.<ref>[http://msdn.microsoft.com/en-us/library/aa365460(VS.85).aspx Symbolic Link Programming Considerations], MSDN</ref> 기본적으로 관리자만이 소유하고 있는, 새로운 "심볼릭 링크 만들기" 권한이 있는 사용자들만 심볼릭 링크를 만들 수 있다.<ref>Mark Russinovich: [http://www.microsoft.com/technet/technetmag/issues/2007/02/VistaKernel/default.aspx Inside the Windows Vista Kernel: Part 1] – File-based symbolic links, Microsoft Technet, February 2007.</ref> 이러한 권한이 마음에 들지 않으면 로컬 보안 정책 관리 콘솔에서 설정을 변경하여야 한다.
 
비스타, 윈도 7, 윈도 8에서 작업 디렉터리 경로가 심볼릭 링크로 끝날 때 현재의 부모 경로 참조 '''..'''는 대상의 경로가 아닌 심볼릭 링크의 부모 경로를 가리키게 된다. 이러한 동작은 적어도 [[리눅스]]와 같은 일부 POSIX 시스템의 셸 수준에서 볼 수 있지만 운영 체제 호출을 통해 파일과 디렉터리로 접근해서는 볼 수 없다. 이를테면 bash 내장 명령 'pwd'와 'cd'는 현재의 논리 디렉터리에서 동작한다. '/bin/pwd'는 현재의 실제 작업 디렉터리를 결정하기위해결정하기 위해 스크립트에서 종종 사용된다. 특정 경로가 시스템 호출과 함께 사용될 때 '..'를 사용하면 '..' 가짜 디렉터리 엔트리를 포함하는 디렉터리의 실제 파일 시스템의 부모 디렉터리를 사용하게 된다. 그러므로 "cd ..; cat 특정_항목"과 "cat ../특정_항목"을 사용하면 완전히 다른 결과를 반환한다.
 
윈도 XP용 심볼릭 링크 활성화를 가능하게 하는 타사 드라이버가 존재한다.<ref>[http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html#symboliclinksforwindowsxp], Link Shell Extension website</ref>