
Windows XP 이상에서는 심볼릭 링크를 지원합니다. 그러나 Windows에서는 계속해서 바로가기 파일(링크된 파일의 위치를 텍스트로 저장함)을 사용합니다. 왜?
답변1
여러 가지 이유가 있을 것 같아요
- 파일 시스템이 아닌 셸에서 해석되는 동일한 EXE에 대한 여러 다른 바로 가기에 대해 다양한 수준의 호환성을 저장할 수 있습니다.
- 특정 바로가기 링크는 실제로 파일 시스템에 존재하지 않습니다. 그 중 일부는 단순히 GUID에 대한 참조이거나 셸에서 해석되는 특수 문자열입니다.
- 심볼릭 링크에는 스위치를 포함할 수 없습니다. 물론 EXE를 가리킬 수는 있지만 해당 EXE에 추가 인수를 알릴 수는 없습니다.
- 심볼릭 링크에 대한 아이콘을 선택할 수 없습니다.
- 심볼릭 링크에서 작업할 디렉터리를 선택할 수 없습니다.
- 바로가기 파일은 단순히 파일을 가리킬 필요는 없으며 하이퍼링크나 프로토콜 링크일 수도 있습니다(.URL 파일의 경우).
- LNK 파일은 모든 파일 시스템에 존재할 수 있습니다. Symlink는 Windows, NTFS의 경우 파일 시스템 자체에서 처리됩니다.
- 실제로 교체할 필요는 없습니다. 작동하고 크기가 작으며 위에 나열된 것보다 더 많은 기능을 추가해야 할 경우 향후에 확장할 수 있습니다.
- 심볼릭 링크를 생성하려면 관리 권한이 필요합니다. (합당한 이유가 있습니다. 그렇지 않으면 거의 작업 없이 무고한 파일을 악성 파일로 리디렉션할 수 있습니다.)
이 외에도 더 많은 이유가 있겠지만 시작하기에 충분하다고 생각합니다 :) - @grawity에서 제공하는 링크가 있습니다.여기이 주제의 일부에 대해 더 많은 정보를 제공할 것입니다.
답변2
심볼릭 링크는 아주 적은 양의 파일 시스템 마법으로 둘러싸인 경로에 지나지 않습니다. 무효화("손상")될 수 있는 방법에는 여러 가지가 있으며, 그 중 대부분은 하나 이상의 파일이나 디렉터리의 이름이 바뀌는 것과 관련됩니다. Windows는 소비자 소프트웨어이므로 "일반" 설치에서는 매우 잘못 설계된 프로그램이 많이 실행될 수 있습니다. 결과적으로 이러한 종류의 손상은 (이론적으로) 디스크에 닿는 모든 프로그램의 양이 알려진 서버보다 피하기가 훨씬 더 어렵습니다.
단축키는대부분의 파손 형태에 면역경로에 관계없이 목표를 추적하기 때문입니다. 이를 통해 더욱 사용자 친화적이게 됩니다. 이 제품은 소비자를 위해 특별히 설계되었으며 "내가 의미하는 바를 실행하고 세부 사항에 대해 신경 쓰지 마십시오"라는 접근 방식을 사용합니다.
이제 이를 위해 (어느 정도) 하드 링크를 사용할 수 있지만 하드 링크에는 여러 가지복잡한 속성소비자가 사용하기에는 부적합합니다. 특히, 파일은 새 inode 번호를 너무 쉽게 얻고 일부 백업 소프트웨어는 하드 링크에 직면할 때 상당히 중단됩니다. 전자는 (아마도) 다음과 같이 해결될 수 있습니다.파일 시스템 터널링(실제로 바로가기가 관련 문제를 해결하는 방법입니다) 그러나 후자는 훨씬 더 어려운 문제입니다.
(터널링을 사용하여 하드 링크를 "해결"하는 것은 단순히 "잃어버린" 메타데이터를 다시 연결하는 문제가 아니기 때문에 확실히 중요하지 않습니다. Inode는 디스크 할당 체계에 묶여 있으므로 임의로 병합할 수는 없습니다. 또는 별도의 수고 없이 나중에 재할당할 수도 있습니다. 바로가기는 생성 시간과 같이 쉽게 터널링될 수 있는 다른 메타데이터를 사용하므로 이러한 문제가 발생하지 않습니다.
답변3
나는 이것이 오래된 질문이라는 것을 알고 있지만 거의 구별할 수 없고 완전히 오해의 소지가 있는 방식으로 바로 가기와 Symlink를 표시하는 Windows 탐색기로 인해 우리는 계속해서 어려움을 겪고 있습니다.
아이콘을 표시하는 탐색기 보기에는 둘 다 왼쪽 하단 모서리에 연결된 상자에 오른쪽 위를 가리키는 작은 화살표가 있으므로 여기서는 구별할 수 없게 표시됩니다.
탐색기 트리 보기에서 Symlink(디렉터리용)는 노드로 표시되지만 바로 가기는 표시되지 않습니다.
마우스 오른쪽 버튼 클릭 > 속성 대화 상자가 혼란스럽습니다. Symlink의 경우 이 대화 상자에는 "링크" 또는 "Symlink"에 대한 언급이 없으며 실제로 대화 상자에는 대상 유형, 대상 위치 및 실제 대상 경로에 대한 정보가 포함된 "바로 가기" 탭이 표시됩니다. 시작 위치 필드가 있습니다(회색으로 표시되며 SymLink에는 적용되지 않음).
한편, 실제 바로가기의 경우 일반 탭에 "파일 형식" 바로가기(.lnk)가 표시됩니다. 그리고 대화 상자에는 공유 탭(디렉터리용)이 생략되어 있습니다.
따라서 무엇이 무엇인지 확실하지 않은 경우 dir 명령이 유형 열의 ""로 Symlink를 명확하게 식별하는 반면 바로 가기는 파일 이름이 "로 표시된 일반 파일로 표시되는 명령 창에 의존해야 합니다. .lnk" 확장자입니다.
물론, 바로가기의 확장자가 전혀 링크가 아닌데도 "링크"의 약어인 것은 이미 문제입니다.
간단히 말해서, Windows 탐색기는 서로 다른 두 가지를 명확하게 식별하고 구별하는 데 훨씬 더 나은 작업을 수행할 수 있으며, 오해의 소지가 있거나 완전히 잘못된 용어를 사용하는 것을 중단해야 합니다.