유닉스 : 소프트 링크, 하드 링크


4

소프트 링크와 하드 링크의 차이점이 무엇인지 혼란 스럽습니다 (유닉스에서).

소프트 링크는 Windows의 바로 가기 나 Mac OS X의 별칭과 같은 것 같습니다.

하드 링크가 무엇을하는지 또는 그것이 유용한 지 확실하지 않습니다.

다른 것을 사용하는 것이 낫습니까?

감사.


1
이것은 수퍼 유저에서 이미 수행되었을 수 있습니다 . 서버 오류 : serverfault.com/questions/10543/…에 있습니다. BTW-- Mac OS 별칭은 심볼릭 링크보다 복잡한 짐승입니다. 나는 창문에 대해 모른다.
dmckee

답변:


4

하드 링크는 동일한 파일 시스템에서만 작동 할 수 있습니다. 기본적으로 하나의 동일한 데이터 그룹 (파일)의 이름이 다릅니다. 즉, 파일에 대한 하드 링크를 만든 다음 원본 파일을 삭제하면 링크는 계속 존재하며 하드 링크를 통해 데이터에 액세스 할 수 있습니다. 마지막 하드 링크가 삭제되면 디스크 공간이 해제됩니다. 실제로 원본 파일과 나중에 만든 하드 링크에는 차이가 없습니다. 그들은 상호 교환이 가능합니다. 하드 링크를 만든 후에는 더 이상 "원본"및 "링크"가 없습니다.

다른 파일 시스템간에 소프트 링크를 사용할 수 있습니다. 즉, filesystem1에서 파일 / dir에 링크하기 위해 filesystem2에 링크를 작성할 수 있습니다. 또한 원본을 제거하면 정의되지 않은 위치를 가리키는 링크가 끊어집니다.

예, 소프트 링크는 창에서 "바로 가기"로 생각할 수 있지만 정확히 동일하지는 않습니다. 창에서 바로 가기는 파일 자체 이므로 프로그램에서 해석 할 수 없으면 사용할 수 없습니다.

여기 주제에 관한 멋진 그림이 있습니다 :)


멋진 답변! 링크 주셔서 감사합니다. 사진이 특히 도움이됩니다.
sixtyfootersdude

유닉스와 같은 시스템의 소프트 링크는 독립적 인 파일이기도합니다 (아이 노드를 가져 와서 서로 하드 링크 등을 할 수있는 등).
dmckee

dmckee : Symlink OS 나 OS를 열 때 해석됩니다 stat().
grawity
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.