심볼릭 링크와 바로 가기의 차이점은 무엇입니까?

심볼릭 링크와 바로 가기의 차이점은 무엇입니까?

심볼릭 링크와 바로가기의 차이점은 무엇인가요?

답변1

중요한 점은 바로가기가 파일일 뿐이라는 점이라고 생각합니다. 크기(가리키는 위치만 참조하는 작은 크기)가 있으며 사용하려면 해당 파일 형식을 지원하는 응용 프로그램이 필요합니다.

심볼릭 링크는 파일 시스템 수준이며 모든 것이 이를 볼 수 있습니다.~처럼원본 파일. 애플리케이션은 심볼릭 링크를 사용하기 위해 특별한 지원이 필요하지 않습니다.

답변2

"심볼릭 링크"는 실제로 기능적인 방식으로 디렉터리나 파일을 대체하는 역할을 할 수 있으며 일반적으로 Unix/Linux 환경에서 사용됩니다. Windows에서 이에 대한 지원이 분명히 있지만 아직 실제로 사용되는 경우는 본 적이 없습니다.

"바로가기"는 표시할 아이콘과 같은 다른 항목과 함께 대상 파일이나 디렉터리에 대한 참조가 있는 일반 파일입니다. 심볼릭 링크와 달리 DOS에서는 "cd ./shortcut-name"을 사용할 수 없습니다(Unix/Linux에서는 "cd ./symlink-name"을 사용할 수 있으며 실제 하위 디렉터리처럼 작동합니다).

또한 대부분의 Windows 응용 프로그램에서 파일->GUI 열기 대화 상자에서 바로 가기를 클릭하면 파일 이름 필드가 해당 바로 가기의 파일 이름으로 채워지고 하위 디렉터리처럼 작동하는 반면 Unix/Linux에서는 GUI가 다음을 처리합니다. 경로로서의 심볼릭 링크(파일 이름 필드를 수정하지 않음)

답변3

다른 사람들이 언급했듯이 심볼릭 링크는 파일 시스템 수준에서 사용할 수 있는 링크 종류 중 하나이므로 응용 프로그램에 투명하게 만듭니다. 내가 발견했다이 문서매우 도움이 됩니다(특히 "자르기/풀기/외부 접합/기호 링크 연결" 섹션). 그리고 거기 도구도 멋져 보여요. (이것과 mklink를 언급함으로써 더 많은 검색이 이 토론을 찾을 수 있기를 바랍니다.)

바로 가기는 실제 링크가 아닌 파일이며 일반적으로 Windows UI(사용자 인터페이스)에서 해석될 때 링크로만 성공적으로 따라갑니다. 예를 들어 폴더 바로 가기를 두 번 클릭하면 Windows는 사용자를 해당 다른 위치로 리디렉션합니다. (여기에는 대부분의 응용 프로그램이 호출하는 일반 파일 열기 및 파일 저장 대화 상자가 포함됩니다.) 바탕 화면에는 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\G 폴더에 대한 바로 가기가 있습니다.

바로가기 파일 이름은 C:\Users\user5\Desktop\Games.lnk입니다. Windows에서는 "알려진 파일 형식의 확장자 숨기기"를 선택 해제하더라도 .lnk 확장자를 억제하고 "게임"만 표시합니다. 그러나 명령 프롬프트를 열고 dir을 수행하면 다음과 같이 표시됩니다.

C:\Users\user5\Desktop>dir "g*"
 Volume in drive C has no label.
 Volume Serial Number is 900...
 Directory of C:\Users\user5\Desktop
03/08/2014  05:30 PM             1,710 Games.lnk
               1 File(s)          1,710 bytes
               0 Dir(s)  246,818,222,080 bytes free

\D 옵션(디렉토리용)을 사용하여 심볼릭 링크로 이에 상응하는 항목을 만들 수 있습니다.

C:\Users\user5\Desktop>mklink /D mysymlink  "C:\ProgramData\Microsoft\Windows\S
tart Menu\Programs\G"
symbolic link created for mysymlink <<===>> C:\ProgramData\Microsoft\Windows\Sta
rt Menu\Programs\G

C:\Users\user5\Desktop>cd mysymlink

C:\Users\user5\Desktop\mysymlink>

(폴더 링크이기 때문에 디렉터리 접합(\J)도 옵션입니다.) 이 콘솔 및 대부분의 응용 프로그램과 마찬가지로 Windows 탐색기를 사용하면 (a) 리디렉션하는 대신 이 명백한 하위 디렉터리를 "아래로" 찾아볼 수 있습니다. 다른 위치로 "건너서" 또는 (b) 실패합니다.

바로가기는 하위 디렉토리처럼 작동하지 않습니다. 다음 명령을 사용하여 Windows UI의 기본 파일 동작을 호출할 수 있습니다(Windows 탐색기에서 "G" 폴더가 열립니다).

C:\Users\user5\Desktop>"Games.lnk"

mysymlink는 실제 하위 디렉터리로 나열되어 있으며(개수 참조) 그런 방식으로 시작할 수 없습니다.

C:\Users\user5\Desktop>dir "my*"
 Volume in drive C has no label.
 Volume Serial Number is 900...

 Directory of C:\Users\user5\Desktop

03/29/2014  06:08 PM    <DIR>          mysubdir
03/29/2014  05:40 PM    <SYMLINKD>     mysymlink [C:\ProgramData\Microsoft\Windo
ws\Start Menu\Programs\G]
               0 File(s)              0 bytes
               2 Dir(s)  246,816,153,600 bytes free

C:\Users\user57\Desktop>mysubdir
'mysubdir' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\user57\Desktop>mysymlink
'mysymlink' is not recognized as an internal or external command,
operable program or batch file.

반대로, 디렉토리를 바로가기로 변경할 수는 없습니다.

C:\Users\user5\Desktop>cd "Games.lnk"
The directory name is invalid.

Windows UI를 사용하면 마우스 오른쪽 버튼을 클릭하여 바로가기 속성을 편집할 수 있습니다. 또는 다음은 .lnk 파일(이진 데이터)에 실제로 저장되는 내용을 정확하게 보여줍니다. 단, 16진수 편집기를 사용하면 더 잘 표시됩니다.

C:\Users\user5\Desktop>notepad.exe "Games.lnk"

실제 하위 폴더에서 메모장을 실행하려고 하면 "액세스가 거부되었습니다" 오류 메시지가 나타나고 빈 메모장이 나타납니다.

반대로 파일 심볼릭 링크(폴더 심볼릭 링크가 아님)를 만들면 메모장으로 시작할 수 있습니다. 다음 notepad.exe 호출 중 처음 두 개는 작동하고 세 번째는 실패합니다(바이너리 gobbledegook인 .LNK 파일이 열립니다).

C:\Users\user5\Desktop>mklink symplain.txt plain.txt
symbolic link created for symplain.txt <<===>> plain.txt

C:\Users\user5\Desktop>notepad.exe "symplain.txt"

C:\Users\user5\Desktop>notepad.exe "plain.txt"

C:\Users\user5\Desktop>notepad.exe "plain.txt.lnk"

이것은 단순한 콘솔 문제가 아닙니다. 메모장의 바로가기를 내 데스크탑에 복사하고 세 개를 각각 끌어다 놓으면 정확히 동일한 동작이 나타납니다. (드래그 앤 드롭은 더블 클릭과 달리 애플리케이션이 바로가기를 해석할 수 있기 때문입니다.)

디렉터리 심볼릭 링크와 접합 간의 차이점은 다음을 참조하세요.이 토론, 그리고 여기에 아주유용한 설명:

"Windows가 기호 링크와 디렉터리 접합을 해결하는 방식의 주요 차이점은 처리가 발생하는 위치입니다. Windows는 원격 파일 서버의 위치를 ​​참조하는 경우에도 로컬 시스템에서 기호 링크를 처리합니다. Windows는 원격 파일 서버를 참조하는 디렉터리 접합을 처리합니다. 따라서 서버의 기호 링크는 다른 클라이언트 볼륨처럼 클라이언트에서만 액세스할 수 있는 위치를 참조할 수 있지만 디렉터리 접합은 이를 해결하기 위해 두 파일 모두에 대해 새로운 기호 링크 유형을 지원합니다. 그리고 디렉토리.

"심볼릭 링크의 의미를 이해하기 위해 많은 파일 시스템 명령이 업데이트되었습니다. 예를 들어 삭제 명령은 링크를 따르지 않고 대상을 삭제하는 대신 링크를 삭제한다는 것을 알고 있습니다. 그러나 모든 응용 프로그램이 그런 것은 아니기 때문에 기호 링크를 올바르게 처리할 수 있으므로 기호 링크를 생성하려면 기본적으로 관리자에게만 부여된 새로운 기호 링크 생성 권한이 필요합니다."

답변4

때로는 기능적인 예를 갖는 것이 좋을 때도 있으므로 이 기능을 사용하는 방법을 설명하겠습니다.

파일을 백업하기 위해 Google 드라이브를 사용하지만 가끔 특정 폴더의 파일을 백업하고 싶을 때가 있습니다(../google 드라이브로 이동할 수 없습니다). 특히 Windows 10 유니버설 앱의 경우 구성 파일 등이 appdata에 저장되며 대부분의 경우 이 위치를 변경할 수 없습니다.

저는 Windows 기본 stikynot 앱을 사용하고 있으며 메모를 백업하고 싶어서 여기서는 심볼릭 링크를 사용했습니다. Google 드라이브는 링크를 실제 파일로 인식하고 파일을 제대로 동기화하지만 실제 파일은 여전히 ​​appdata 폴더에 있습니다.

클라우드에 동기화하고 싶지 않은 프로젝트 폴더와 같은 파일이 로컬에 있는 경우 바로가기(복사, 붙여넣기->바로가기 붙여넣기)를 사용합니다.

관련 정보