Vista에서 사용자 폴더에 등록된 폴더 중 문서, 다운로드, 음악, 비디오 등 기본적으로 제공하는 폴더외의 내가 정한 폴더를 등록하고 싶은 경우가 있습니다.
이때 사용자 폴더 내에 새로운 폴더를 하나 만들어서 사용하면 되지만, 문서나 기타 다른 폴더들의 위치도 다른 드라이브로 옮겨서 사용하는데, 폴더내에 새로운 폴더를 생성한다는 꺼름직하죠.
그때 사용할 수 있는 것이 링크폴더를 만드는 것인데요.
Vista에서는 mklink라는 명령어를 제공하여 심볼릭 링크를 생성할 수 있도록 해줍니다.
저는 D:\Projects라는 폴더를 사용자 폴더(C:\Users\Hwikyeom)내에 프로젝트라는 이름으로 링크폴더를 만들려고 합니다.
이때 링크폴더는 사용자 폴더내에 동일한 이름의 폴더가 존재하지 않아야 합니다.
만일 이미 C:\Users\Hwikyeom\프로젝트 라는 폴더가 만들어져 있다면 "파일이 이미 있으므로 만들 수 없습니다." 라는 메시지가 나옵니다.
"기호화된 링크가 만들어 졌습니다."라는 메시지가 나왔다면, 링크폴더가 정상적으로 만들어 졌습니다.
탐색기에서 확인을 해보면
결과를 보면 탐색기의 트리뷰에서 프로젝트라는 폴더를 확인 할 수 있습니다.
그리고, 해당 폴더를 선택하면 위의 주소표시줄과 같이 D:\Project로 표시되는 것이 아니라 사용자폴더내의 프로젝트로 표시가 됨을 보실 수 있습니다.
하지만, 실제 내용은 D:\Projects 폴더의 내용을 표시하는 것이죠.
그렇다면, 폴더바로가기를 생성하였을 때와는 어떻게 다를까요?
폴더 바로가기는 LNK라는 파일을 생성하여 실행시 지정된 폴더로 이동시켜 주는 것입니다.
즉, 바로가기는 파일이므로 옆의 링크폴더와는 달리 트리뷰에 출력될 수 없습니다.
그리고, 바로가기를 실행했을 때는 주소 표시줄이
와 같이 지정된 폴더가 출력됩니다.
mklink는 폴더 뿐만이 아니라 파일에 대한 심볼릭링크의 생성도 가능하며, 옵션에 따라 하드링크나 또는 디렉터리 교차점의 생성도 가능합니다.
Vista 이전 버전에서는 linkd.exe를 이용하는 방법으로 링크폴더의 생성이 가능합니다. 이 방법에 대한 자세한 내용은 http://qaos.com/article.php?sid=2638 를 참고하세요.
그리고, 파일기반 심볼 링크에 대한 부분을 찾아서 참조합니다.
파일 기반 심볼 링크
Windows Vista의 I/O 관련 변경 사항으로는 파일 기반 심볼 링크, 보다 효율적인 I/O 완료 처리, 포괄적인 I/O 취소 지원, 우선 순위가 부여된 I/O 등이 있습니다.
많 은 사용자들이 NTFS에서 누락되었다고 생각하는 파일 시스템 기능인 심볼 파일 링크(UNIX에서는 소프트 링크라고 함)가 마침내 Windows Vista에 포함되었습니다. Windows 2000 버전의 NTFS에서는 다른 디렉터리를 가리키는 디렉터리를 만들 수 있게 해 주는 디렉터리 교차점이라는 심볼 디렉터리 링크가 사용되었지만 Windows Vista 이전 버전의 NTFS에서는 파일의 하드 링크만 지원했습니다.
Windows 에서 심볼 링크와 디렉터리 교차점을 해결하는 방식의 가장 큰 차이점은 처리가 발생하는 위치입니다. Windows에서 심볼 링크는 원격 파일 서버에 있는 위치를 참조할 때조차 로컬 시스템에서 처리됩니다. Windows에서는 원격 파일 서버를 참조하는 디렉터리 교차점을 해당 서버 내에서 처리합니다. 따라서 서버에 있는 심볼 링크는 다른 클라이언트 볼륨과 같이 클라이언트에서만 액세스할 수 있는 위치를 참조할 수 있지만 디렉터리 교차점은 참조할 수 없습니다. 이 문제를 해결하기 위해 Windows Vista에서는 파일과 디렉터리 모두에 대해 새로운 심볼 링크 유형을 지원합니다.
심 볼 링크에 내포된 의미를 이해할 수 있도록 다양한 파일 시스템 명령이 업데이트되었습니다. 예를 들어 Delete 명령은 링크를 따르는 대신 링크를 삭제하도록 업데이트되었습니다(링크를 따르면 대상이 삭제됨). 그러나 일부 응용 프로그램에서는 심볼 링크를 올바르게 처리할 수 없으므로 심볼 링크를 만들려면 기본적으로 관리자에게만 부여되는 새로운 심볼 링크 만들기 권한이 있어야 합니다.
Mklink 명령으로 명령 프롬프트에서 심볼 링크를 만들 수 있습니다. 명령 프롬프트에서 기본으로 제공하는 디렉터리 명령은 <SYMLINK>로 플래그를 지정하고 대상을 괄호 안에 표시하여 심볼 링크를 식별합니다(그림 5 참조). 심볼 링크는 Windows 탐색기에서도 확인할 수 있으며 바로 가기 화살표로 표시됩니다. 찾기 창에 링크 대상 열을 추가하여 탐색기에서 링크의 대상을 볼 수 있습니다.
원본경로 : http://technet.microsoft.com/ko-kr/magazine/cc162494.aspx
'기타' 카테고리의 다른 글
클라이언트 사이드 스크립트의 무단도용에 자유로운 개발자가 존재할까? (0) | 2007.02.02 |
---|---|
Windows 2003 & ASP 에서 ADODB.Stream 으로 다운로드가 되지 않을 경우 (0) | 2007.01.22 |