심볼 링크

Symbolic link

컴퓨팅에서 심볼 링크(symbolic link 또는 soft link)는 절대 또는 상대 경로 형태의 다른 파일이나 디렉토리에 대한 참조를 포함하고 경로 이름 결정에 영향을 미치는 모든 파일의 용어다.[1]

심볼릭 링크는 DEC와 Data General의 RDOS의 미니컴퍼터 운영 체제에서 1978년까지 이미 존재했다.오늘날 그것들은 POSIX 운영 체제 표준, FreeBSD, 리눅스, MacOS와 같은 대부분의 유닉스식 운영체제에 의해 지원되고 있다.Windows Vista, Windows 7과 같은 Windows 운영 체제에서도 제한적인 지원이 존재하며, Windows 2000Windows XP에서는 바로 가기 파일 형태로 어느 정도 지원이 가능하다.

개요

심볼릭 링크에는 다른 파일이나 디렉토리에 대한 경로로 운영 체제가 자동으로 해석되고 그 뒤에 오는 텍스트 문자열이 포함되어 있다.이 다른 파일이나 디렉토리를 "target"이라고 부른다.심볼 링크는 대상과 독립적으로 존재하는 두 번째 파일이다.심볼릭 링크가 삭제되더라도 그 대상은 영향을 받지 않는다.심볼 링크가 대상을 가리키고, 나중에 대상을 이동하거나 이름을 바꾸거나 삭제하는 경우 심볼 링크는 자동으로 업데이트되거나 삭제되는 것이 아니라 계속 존재하며 현재 존재하지 않는 위치나 파일인 이전 대상을 가리키고 있다.이동했거나 존재하지 않는 대상을 가리키는 상징적 링크를 때로는 끊기거나 고아가 되거나 죽거나 매달려 있는 것으로 부른다.

심볼릭 링크는 하드 링크와는 다르다.하드 링크는 서로 다른 볼륨이나 파일 시스템의 경로를 연결하지 않는 반면, 심볼릭 링크는 링크와 대상이 있는 볼륨에 관계 없이 파일이나 디렉토리를 가리킬 수 있다.하드 링크는 항상 기존 파일을 참조하는 반면, 심볼릭 링크는 아무 것도 가리키지 않는 임의 경로를 포함할 수 있다.

심볼릭 링크는 많은 작업에서 투명하게 작동한다: 심볼릭 링크로 명명된 파일을 읽거나 쓰는 프로그램은 대상 파일에서 직접 작동하는 것처럼 동작한다.그러나, 그들은 다른 계층적 파일 시스템을 트리에서 지시된 그래프로 변경하는 효과를 가지고 있는데, 이것은 프로세스의 현재 디렉토리를 결정하는 것과 같은 간단한 작업에 결과를 가져올 수 있다.심지어 디렉토리의 상위 디렉토리로 이동하기 위한 Unix 표준도 symlinks 앞에서 더 이상 신뢰성 있게 작동하지 않는다.일부 조개껍데기들경험적으로 나무 모양의 위계질이라는 환상을 유지하려고 하지만, 그럴 때, 이것은 그들이 대신 운영체제에 의존하면서, 그러한 경험 없이 경로명을 조작하는 다른 프로그램들과 다른 결과를 낳게 한다.[2]심볼 링크를 특별히 처리해야 하는 프로그램(예: 쉘 및 백업 유틸리티)은 이러한 링크를 직접 식별하고 조작해야 한다.

일부 유닉스 및 리눅스 배포판에서는 파일 시스템 계층을 재정렬하기 위해 심볼 링크를 광범위하게 사용한다.이것은 변형, 맥락에 의존하는 심볼 링크와 같은 몇 가지 메커니즘을 통해 달성된다.이를 통해 보다 직관적이거나 애플리케이션별 디렉토리 트리를 만들고 핵심 시스템 기능 및 유틸리티 세트를 재설계할 필요 없이 시스템을 재구성할 수 있는 기회를 제공한다.

POSIX 및 Unix와 유사한 운영 체제

POSIX 호환 운영 체제에서 심볼릭 링크는symlink[3] 시스템 호출ln셸 명령어는 일반적으로link[4] 하드 링크가 생성되는 시스템 호출언제ln -s플래그가 지정되고 symlinklink 시스템 호출이 대신 사용되어 심볼 링크를 만든다.Symlinks는 4.2에 도입됨U.C. 버클리 출신의 BSD Unix.

다음 명령은 명령줄 인터페이스(셸)에 심볼 링크를 생성하십시오.

ln -s target_path link_path

target_path는 심볼 링크가 가리켜야 하는 상대적 또는 절대적 경로다.상징적인 링크가 존재하지 않는 대상에 생성될 수 있지만 대개 대상이 존재할 것이다.link_path는 심볼릭 링크의 경로다.

심볼 링크를 만든 후에는 일반적으로 대상의 별칭으로 취급할 수 있다.모든 파일 시스템 관리 명령(예:cp,rm기호 링크에 )를 사용할 수 있다.파일 내용을 읽거나 쓰는 명령은 대상 파일의 내용에 액세스한다.rm그러나 (파일 삭제) 명령은 대상 파일이 아닌 링크 자체를 제거한다.마찬가지로, 더mv명령은 대상이 아닌 링크의 이름을 이동하거나 변경한다.

POSIX 디렉토리 목록 응용프로그램,ls. 긴 디렉터리 목록이 요청될 때(다음 예 참조) 대상 파일의 이름을 가리키며 이름 뒤에 화살표가 있는 심볼 링크를 가리킨다.-l옵션).디렉토리를 가리키는 심볼릭 링크의 디렉토리 목록이 요청되면 링크 자체만 표시된다.링크된 디렉토리 목록을 얻으려면 경로에 후행 디렉토리 구분 문자('/', slash)가 포함되어야 한다.

참고: 아래 예제에서 /tmp 디렉토리에 링크를 작성하기 전에 "3" 디렉토리를 작성하지 마십시오.

달러mkdir -p /tmp/one/two달러 echo"test_a">/tmp/one/two/a달러 echo"test_b">/tmp/one/two/b달러 cd/tmp/one/two달러ls -l -rw-r-r-1사용자 그룹 71월 0110:01 -rw-r-r-1사용자 그룹 71월 0110:01 b달러 cd/tmp달러 ln -s /tmp/one/two 3달러 ls -l 3lrwxrwxrwx 1사용자 그룹 127월 2210:02 /tmp/three ->, /tmp/one/two달러 ls -lthree/ -rw-r-r-1.user group 7 Jan 01 10:01 a -rw-r--r-- 1 user group 7 Jan 01 10:01 b $ cd three $ ls -l -rw-r--r-- 1 user group 7 Jan 01 10:01 a -rw-r--r-- 1 user group 7 Jan 01 10:01 b $ cat a test_a $ cat /tmp/one/two/a test_a $ echo "test_c" >/tmp/one/two/a $ cat /tmp/one/two/a test_c $ cat a test_c

심볼 링크 저장

심볼릭 링크의 초기 구현은 심볼릭 링크 정보를 일반 파일에 데이터로 저장했다.파일에는 링크의 대상에 대한 텍스트 참조가 들어 있었고, 파일 모드 비트는 파일 형식이 심볼릭 링크임을 나타내었다.

이 방법은 속도가 느리고 소규모 시스템에서 디스크 공간을 비효율적으로 사용하는 것이었다.fast symlinks라 불리는 개선은 파일 정보를 디스크(inode)에 저장하는 데 사용되는 데이터 구조 내에서 대상 경로를 저장하는 것을 허용했다.이 공간은 일반적으로 파일에 할당된 디스크 블록 주소 목록을 저장한다.따라서 짧은 대상 경로를 가진 심볼링크는 빠르게 액세스된다.symlink가 빠른 시스템은 대상 경로가 사용 가능한 inode 공간을 초과할 경우 원래 방법을 다시 사용하는 경우가 많다.원래 스타일은 느린 심볼링크라고 소급해서 부른다.또한 다른 또는 이전 버전의 운영 체제와의 디스크 호환에도 사용된다.

inode 내부에 링크 값을 저장하면 디스크 블록과 디스크 읽기가 저장되지만, 운영체제는 여전히 링크의 경로 이름을 구문 분석할 필요가 있다. 이 경로 이름은 항상 추가 inode를 읽어야 하고 일반적으로 다른 많은 디렉토리를 읽어야 하며, 잠재적으로 많은 디렉토리를 읽어야 하며, 파일 목록과 각각의 inode를 f까지 처리할 수 있다.링크의 경로 구성요소와 일치하는 항목을 들여씁니다.링크가 동일한 디렉토리의 파일을 가리킬 때만 "빠른 심볼링크"는 다른 심볼링크보다 훨씬 나은 성능을 제공한다.

POSIX 호환 구현의 대부분은 빠른 심볼링크를 사용한다.그러나 POSIX 표준은 일반 파일에 공통되는 전체 파일 상태 정보를 symlink에 구현하도록 요구하지 않는다.이를 통해 구현은 symlink 데이터를 디렉토리 항목에 저장하는 것과 같은 다른 솔루션을 사용할 수 있다.

심볼릭 링크의 파일 시스템 권한은 사용되지 않으며, 대상 파일의 액세스 모드는 대상 파일의 자체 권한에 의해 제어된다.FreeBSD와 같은 일부 운영 체제는 다음을 통해 심볼릭 링크(Symbolic Link)의 파일 권한 및 파일 시스템 속성을 수정할 수 있는 기능을 제공한다.lchmod[5] 그리고lchflags[6] 각각 시스템 호출.

보고된 symlink 크기는 symlink가 가리키는 경로의 문자 수입니다.

Mac OS 별칭

Mac OS에서 애플리케이션이나 사용자도 동일한 볼륨의 다른 위치로 이동하더라도 대상을 추종하는 추가 기능을 가진 별칭을 사용할 수 있다.셸 명령어 별칭과 혼동해서는 안 된다.

마이크로소프트 윈도

NTFS 심볼 링크

NTFS 3.1은 모든 파일 형식에 대한 심볼릭 링크(Symbolic Link) 지원을 도입했다.Windows XP(윈도우 XP)에 포함되었지만 커널 모드 프로그램에만 기본적으로 사용되도록 설정되었으며, Windows Vista(윈도우 비스타) 이후 버전의 Windows(윈도우)에서는 사용자 모드 응용 프로그램에 대한 심볼 링크를 지원했으며 명령줄 유틸리티를 제공했다.mklink그것들을 창조하기 위해서.Windows XP에서 NTFS 심볼 링크를 지원하려면 타사 드라이버가 필요하다.[7]연결 지점과 달리 심볼 링크는 파일 또는 원격 SMB(Server Message Block) 네트워크 경로를 가리킬 수도 있다.또한 NTFS 심볼 링크 구현은 교차 파일 시스템 링크를 완벽하게 지원한다.그러나 크로스 호스트 심볼 링크를 활성화하려면 원격 시스템도 이를 지원해야 한다.

심볼릭 링크는 POSIX 운영 체제와의 마이그레이션 및 애플리케이션 호환성을 지원하기 위해 설계된다.마이크로소프트는 "유닉스 링크와 같은 기능"에 대한 윈도 비스타의 상징적인 링크를 목표로 했다.[8]그러나 구현은 여러 가지 면에서 유닉스 심볼릭 링크와 다르다.예를 들어 Windows Vista 사용자는 심볼 링크를 만들 때 파일인지 디렉터리인지 수동으로 표시해야 한다.[9]Windows 7(윈도우 7)과 Vista(비스타)는 주어진 경로에 대해 최대 31개의 재분석 지점(따라서 심볼릭 링크)을 지원한다.[10]기본적으로 관리자만 가지고 있는 새로운 심볼 링크 만들기 권한이 있는 사용자만 심볼 링크를 만들 수 있다.[11]이것이 원하는 동작이 아닌 경우 로컬 보안 정책 관리 콘솔에서 변경해야 한다.또한 파일에 대한 NTFS 심볼 링크는 디렉토리에 대한 NTFS 심볼 링크와 구별되므로 동일한 심볼 링크가 파일이나 디렉토리 중 하나를 참조할 수 있는 POSIX와는 달리 서로 교환하여 사용할 수 없다.

Windows Vista 이상에서 작업 디렉토리 경로가 심볼릭 링크(Symbolic Link)로 끝나면 현재 상위 경로 참조,..는 대상의 상위 디렉토리가 아닌 심볼릭 링크의 상위 디렉토리를 참조할 것이다.이러한 행동은 Linux를 포함한 일부 POSIX 시스템의 쉘 수준에서도 발견되지만, 운영 체제 호출을 통해 파일과 디렉터리에 접근하는 경우는 결코 없다.예를 들어 bash builtin 명령어pwd그리고cd현재의 논리 디렉터리에서 작동하다 pwd실제 현재 작업 디렉토리를 결정하기 위해 스크립트에서 종종 사용된다.시스템 호출과 함께 경로를 사용할 경우..다음이 포함된 디렉토리의 실제 파일 시스템 상위 항목을 사용함..의사진행발행발행그렇게cd ..; cat something그리고cat ../something완전히 다른 결과를 반환할 수 있다.

  1. PS > mklink /D "$env:LOCALAPPDATA\Plex Media Server" "G:\Plex Media Server"
  2. PS > New-Item -Path C:\TargetPath -ItemType SymbolicLink -Value F:\SourcePath

NTFS 연결 지점

Windows 2000 버전의 NTFS재분석 포인트를 도입하여 무엇보다도 Volume Mount Points와 접속 지점을 사용할 수 있게 하였다.접속 지점은 디렉토리 전용이며, 더욱이 로컬 디렉토리 전용이며, 원격 공유 접속 지점은 지원되지 않는다.[12]윈도 2000과 XP 자원 키트에는 접속 지점을 만들기 위한 linkd라는 프로그램이 포함되어 있다; 접속이라는 이름의 더 강력한 프로그램이 시신테르날스마크 루시노비치에 의해 배포되었다.

모든 표준 응용프로그램이 재분석 지점을 지원하는 것은 아니다.가장 눈에 띄는 점은 백업이 이러한 문제를 겪고 있으며 백업할 폴더에 재분석 지점이 포함되어 있을 때 오류 메시지 0x80070003을[13] 전송한다는 것이다.

바로 가기

일부 운영 체제의 그래픽 파일 브라우저에서 지원되는 바로 가기 키는 심볼릭 링크와 유사할 수 있지만 여러 가지 중요한 방법이 다르다.한 가지 차이점은 어떤 유형의 소프트웨어가 이를 따를 수 있는가이다.

  • 심볼 링크는 파일 시스템에 의해 자동으로 해결된다.소프트웨어 프로그램은 심볼릭 링크에 접속할 때 프로그램이 심볼릭 링크를 인지하고 있는지 여부에 관계없이 대상을 대신 보게 된다.
  • 바로가기는 파일 시스템과 이를 인식하지 못하는 소프트웨어 프로그램에 의해 일반 파일처럼 처리된다.바로 가기(윈도우즈 셸 및 파일 브라우저 등)를 이해하는 소프트웨어 프로그램만 이 프로그램을 다른 파일에 대한 참조로 간주한다.

또 다른 차이점은 메커니즘의 능력이다.

  • Microsoft Windows 단축키는 일반적으로 절대 경로(루트 디렉터리에서 시작)에 의한 대상을 참조하는 반면, POSIX 심볼릭 링크는 절대 경로 또는 상대 경로를 통해 대상을 참조할 수 있다.후자는 심볼링크와 그 대상이 모두 생성 시 알려지지 않은 일부 공통 조상 경로를 공유하는 경우(예: 어디에서나 압축을 풀 수 있는 보관 파일)에 유용하다.
  • 마이크로소프트 윈도우즈 애플리케이션 바로가기에는 대상에 연결할 수 있는 추가 메타데이터가 포함되어 있는 반면, POSIX 심볼릭 링크는 절대 경로 이름 또는 상대 경로 이름으로 해석될 문자열일 뿐이다.
  • 심볼릭 링크와는 달리 Windows 단축키는 대상을 이동하거나 이름을 바꿀 때에도 대상에 대한 참조를 유지한다.Windows 도메인 클라이언트는 분산 링크 추적이라는 Windows 서비스에 가입하여 관심 있는 파일과 폴더의 변경 사항을 추적할 수 있다.이 서비스는 파일 및 폴더가 네트워크를 통해 이동되는 경우에도 바로 가기의 무결성을 유지한다.[14]또한 Windows 9x 이상에서는 Windows 셸이 삭제 제안을 하기 전에 손상된 바로 가기 대상을 찾으려고 시도한다.

폴더 바로 가기

거의 바로 가기 같지만 Windows(윈도우) 셸에 대해서는 투명하다.[15]이러한 폴더는 대상이라는 바로 가기를 포함하는 일반 폴더(읽기 전용 및/또는 시스템 속성[16] 필요)로 구현된다.lnk(대상) 및 (적어도) 다음 내용을 포함한 a (대상) desktop.ini를 가리킨다.

 [.ShellClassInfo]  CLSID2={0AFASED1-E828-11D1-9187-B532F1E9575D} 

예를 들어 폴더 바로 가기는 네트워크 환경의 윈도우즈 셸에서 만들어지고 사용된다.

셸 객체

셸 개체[17] 또는 셸 폴더는 윈도우즈 레지스트리에 정의되어 있으며 일종의 심볼 링크를 구현하는 데도 사용할 수 있다.폴더 바로 가기처럼 Windows 셸에 투명하다.

최소 구현: (CLSID {000000-0000-0000-0000-0000000000}이(가) 자리 표시자로 사용됨:

 [HKEY_CLASS_ROUT\CLSID\{00000000-0000-0000-000000000000}]  @="표시 이름"  [HKEY_CLASS_ROUT\CLSID\{00000000-0000-0000-00000000}\DefaultIcon]  @=…."; 아이콘으로의 경로  [HKEY_CLASS_ROUT\CLSID\{00000000-0000-0000-0000000000}\InProcServer32]  @="%SystemRoot%\\System32\\ShDocVw.DLL"  "스레딩 모델"="아파트"  [HKEY_CLASS_ROUT\CLSID\{00000000-0000-0000-0000000000}\인스턴스]  "CLSID"="{0AFASED1-E828-11D1-9187-B532F1E9575D}"  [HKEY_CLASS_ROUT\CLSID\{00000000-0000-0000-0000000000}\인스턴스\InitPropertyBag]  "참석자"=육각의:15,00,00,00  "대상"=…."; 절대("TargetKnownFolder" 또는 "TargetSpecialFolder"만 제외)                 ; 또는 대상의 상대 경로  "TargetKnownFolder"="{guid-guid-guid-guid-guid-guidguid}"; 대상 폴더의 GUID, 윈도우즈 Vista 이상  "TargetSpecialFolder"="0x00xy", 대상의 CSIDL  [HKEY_CLASS_ROUT\CLSID\{00000000-0000-0000-0000000000}\ShellFolder]  "참석자"=육각의:00,00,00,00 

바탕 화면 문서 폴더와 제어판의 글꼴 및 관리 도구 폴더는 파일 시스템 폴더로 리디렉션된 셸 개체의 예입니다.

사이그윈 심볼 링크

Cygwin은 Microsoft Windows 파일 시스템에서 POSIX 호환 심볼 링크를 시뮬레이션한다.유닉스(위 참조)와 동일한 프로그래밍 및 사용자 유틸리티 인터페이스(.lnk files)를 사용하지만, 심볼링크 해상도 당시 Cygwin이 사용한 추가 정보로 윈도 바로 가기(.lnk files)를 만든다.Cygwin symlinks는 해결 방법 측면에서 POSIX 표준을 준수하며, Windows 표준은 디스크 내 표현 측면에서 준수한다.

또한 Cygwin은 제한 없이 Cygwin에서 사용할 수 있는 기본 Windows 심볼 링크를 지원하도록 설정될 수 있다.[18]이를 위해서는 다음이 필요하다.

  1. CYGWIN 환경 변수를 winsymlinks:native로 변경.
  2. Windows(윈도우)에서 권한 있는 사용자에 대한 심볼 링크 생성을 제한하기 때문에 권한 상승으로 Cygwin 실행

그러나 일부 차이는 존재한다.Cygwin은 작업 디렉토리나 아이콘과 같은 바로 가기 관련 정보를 지정할 수 있는 방법이 없다. 왜냐하면 이러한 매개변수를 사용할 수 있는 공간이 없기 때문이다.ln -s명령하다Cygwin이 제공하는 표준 Microsoft .lnk 파일을 생성하려면mkshortcut그리고readshortcut공공 [19]시설

Cygwin 사용자 안내서에는 이 주제에 대한 자세한 정보가 수록되어 있다.[18]싸이그윈을 기반으로 하는 MSYS2윈슬링크 설정이 유사하지만 파일 복사를 기본으로 한다.[20]

요약

속성/조치 심볼 링크 접속부 하드 링크
링크가 삭제될 때 대상은 변경되지 않은 상태로 유지됨 대상이 삭제됨(특수 공구 사용제외) 참조 카운터가 감소함, 0에 도달하면 대상이 삭제됨
대상을 이동할 때 심볼 링크가 잘못됨 접합부가 유효하지 않음 하드 링크가 유효함
상대경로 허용된 허용되지 않음(저장절대 경로가 됨) 해당 없음
파일 시스템 경계 교차 지원됨 지원됨 지원되지 않음(타겟이 동일한 파일 시스템에 있어야 함)
창문들 파일용 Windows Vista 이상[a]
(필요한 권한)
아니요.
폴더용 아니요.
유닉스 파일용 해당 없음
디렉터리용 해당 없음 부분적[b]
  1. ^ 윈도우즈 구현은 POSIX를 준수하지 않는다.
  2. ^ POSIX는 디렉토리에 대한 하드 링크를 허용하지만 이러한 링크는 필요하지 않다.현대의 파일 시스템은 그것을 지원하지 않는 경향이 있다.

레거시 시스템

아미가

심볼 링크를 만드는 명령은makelink하드 링크에도 사용된다.내부적으로 dos.library는 파일에 대해서만 합법적인 작업을 수행하려고 하면 대상이 소프트 링크임을 나타내는 오류 코드를 반환하고, 상징 링크를 따르기를 원하는 애플리케이션은 링크를 따라오고 작업을 다시 시도하기 위해 명시적으로 전화를 걸어야 한다.아미가DOS 셸은 자동으로 링크를 따라간다.

OS/2

OS/2 운영 체제에서 심볼릭 링크는 그래픽 Workplace Shell그림자와 다소 유사하다.그러나 완전한 객체 지향 시스템 오브젝트 모델 때문에 그림자는 단순한 링크보다 상당히 강력하고 견고하다.예를 들어, 그림자는 이름을 바꾸거나 링크의 객체 또는 주체가 재배치될 때 그 기능을 잃지 않는다.[21]

가변 심볼 링크

심볼릭 링크는 구성 매개변수, 런타임 매개변수 또는 기타 순간 조건에 따라 링크가 다양한 표적을 가리키도록 상황에 따라 또는 가변적인 방식으로 구현될 수 있다.

변수 또는 변종 심볼 링크는 변수 이름이 포함된 심볼 링크다.이를 통해 표준 심볼 링크로는 불가능한 파일 시스템 순서에 어느 정도 융통성이 있다.심볼릭 링크에 포함된 변수에는 사용자 및 환경 관련 정보가 포함될 수 있다.

변형 심볼 링크를 사용하는 운영 체제로는 NetBSD, DragonFly BSD, Domain/OS가 있다.[22][23][2]Tru64는 컨텍스트가 클러스터 멤버 번호인 컨텍스트 종속 심볼 링크를 사용한다.

피라미드 테크놀로지의 OSx 운영 체제는 프로그램이 어느 우주에서 실행되느냐에 따라 다른 위치를 가리키는 조건부 심볼 링크를 구현했다.AT&Ts의 SysV.3과 버클리 소프트웨어 배포(BSD 4.3)가 지원되었다.예를 들어 ps 명령이 att 우주에서 실행된 경우, 디렉토리 /bin의 심볼 링크가 /.attbin/ps를 가리키고 /.attbin/ps 프로그램이 실행될 것이다.반면에 ps 명령이 ucb 우주에서 실행되었다면 /bin/.ucbin을 가리키고 /.ucbin/ps가 실행될 것이다.유사한 조건부 심볼 링크는 /lib, /usr/[24]lib, /usr/include와 같은 다른 디렉토리에 대해서도 작성되었다.

참고 항목

참조

  1. ^ 경로 이름 해상도, POSIX.
  2. ^ a b Pike, Rob (2000). Lexical file names in Plan 9 or getting dot-dot right (PDF). Proc. USENIX Annual Tech. Conf.
  3. ^ symlink, symlinkat.IEEE 규격 1003.1, 2013년판.
  4. ^ link, linkat.IEEE 규격 1003.1, 2013년판.
  5. ^ "lchmod(2)". Manual pages for FreeBSD 11.
  6. ^ "lchflags(2)". Manual pages for FreeBSD 11.
  7. ^ "Link Shell Extension website". Link Shell Extension website.
  8. ^ 심볼 링크, MSDN 라이브러리, Win32 및 COM 개발, 2008-01-18
  9. ^ "CreateSymbolicLinkA function (winbase.h)". MSDN.{{cite web}}: CS1 maint : url-status (링크)
  10. ^ 심볼 링크 프로그래밍 고려사항, MSDN
  11. ^ 마크 루시노비치:Windows Vista 커널 내부: Part 1 – 파일 기반 심볼 링크, Microsoft Technet, 2007년 2월.
  12. ^ "Sysinternals Junction documentation". microsoft.com. Retrieved 23 March 2018.
  13. ^ "Windows backup or restore errors 0x80070001, 0x81000037, or 0x80070003". support.microsoft.com.
  14. ^ "Distributed Link Tracking and Object Identifiers". Microsoft Developers Network. Microsoft Corporation. 20 March 2011. Retrieved 30 June 2011.
  15. ^ "Specifying a Namespace Extension's Location". msdn.microsoft.com. Retrieved 23 March 2018.
  16. ^ "You cannot view or change the Read-only or the System attributes of folders in Windows Server 2003, in Windows XP, in Windows Vista or in Windows 7". support.microsoft.com. Retrieved 2021-07-08.{{cite web}}: CS1 maint : url-status (링크)
  17. ^ 셸 인스턴스 개체를 사용하여 확장 생성. msdn.microsoft.com
  18. ^ a b "Chapter 3. Using Cygwin". www.cygwin.com. Retrieved 2021-07-08.{{cite web}}: CS1 maint : url-status (링크)
  19. ^ "Using Cygwin effectively with Windows".{{cite web}}: CS1 maint : url-status (링크)
  20. ^ "Coreutils: ln --symbolic creates hard links (MSYS2-packages #249)". GitHub.
  21. ^ Rojas, Miguel (16 December 2020). "Cómo ejecutar versiones de Python diferentes a las predeterminadas". manualestutor.com/. Retrieved 20 December 2020.
  22. ^ symlink(7)NetBSD 기타 정보 설명서: 마술 심볼링크
  23. ^ Brooks Davis (2008). "Variant symbolic links for FreeBSD" (PDF).
  24. ^ Neil Brown (2016). "A case for variant symlinks". LWN.

외부 링크

  • Q&A: Linux에 적용된 하드 링크와 소프트 링크의 차이점
  • 연결: NTFS 연결 지점 유지 관리(Windows 2000 이상용)
  • FSUtil Hardlink: 명령줄 도구 FSUtil을 사용하여 하드 링크를 만드는 Microsoft Technet 페이지(Windows 2000 이상용)
  • 링크 확장:Windows 탐색기의 상황에 맞는 메뉴, 하드 링크를 유지하기 위한 오버레이 아이콘 및 속성 시트 핸들러, NTFS 연결 지점, 심볼 링크 등
  • Windows XP용 심볼 드라이버(일본어): Windows XP용 심볼 링크를 활성화하는 파일 시스템 드라이버(Link Shell Extension 사이트에도 미러링됨)사용 가능한 소스.