추천, 2025

에디터의 선택

하드 링크와 소프트 링크의 차이점

Unix의 링크는 본질적으로 파일과 디렉토리와 관련된 포인터입니다. 하드 링크와 소프트 링크의 주된 차이점은 하드 링크는 파일에 대한 직접 참조이며, 소프트 링크는 파일 이름을 기준으로 파일을 가리키는 이름으로 참조된다는 점입니다.

하드 링크는 동일한 파일 시스템의 파일과 디렉토리를 링크하지만 소프트 링크는 파일 시스템 경계를 통과 할 수 있습니다.

링크를 이해하기 전에 먼저 inode를 이해해야하며, inode는 파일 생성 날짜, 파일 권한 부여, 파일 소유자 등 파일에 대한 메타 데이터로 구성된 데이터 구조입니다.

비교 차트

비교 근거하드 링크
소프트 링크
기본파일은 하드 링크라고하는 여러 가지 다른 이름을 통해 액세스 할 수 있습니다.소프트 링크라고하는 해당 파일을 가리키는 다른 참조를 통해 파일에 액세스 할 수 있습니다.
원본 파일이 삭제 될 때 링크 유효성 검사여전히 유효하며 파일에 액세스 할 수 있습니다.
무효
작성에 사용 된 명령
ln -s
inode 번호같은
다른
연결할 수 있습니다.자체 파티션으로.네트워크 화 된 다른 파일 시스템에도.
메모리 사용량적게
상대 경로해당 사항 없음허용됨

하드 링크의 정의

하드 링크 는 동일한 파일 시스템에있는 두 개의 파일을 직접 링크하고 식별을 위해 파일의 inode 번호를 사용합니다. 하드 링크는 디렉토리에서 구현 될 수 없습니다 (아이 노드를 가리키기 때문에). " ln "명령을 사용하여 하드 링크를 생성하면 명령 행에 원래 파일을 참조하는 데 사용할 수있는 다른 파일이 생성됩니다. 원본 파일과 생성 된 파일은 모두 동일한 inode 및 내용을가집니다. 따라서 그들은 동일한 권한과 동일한 소유자를 갖습니다.

원본 파일을 제거해도 하드 링크 된 파일에는 영향을 미치지 않으며 하드 링크 된 파일은 그대로 유지됩니다. inode는 자체 하드 링크의 수를 계산하기 위해 카운터를 보유합니다. 카운터가 0 값을 나타내면 inode가 비게됩니다. 하드 링크를 변경할 때마다 원본 파일을 모방합니다.

소프트 링크의 정의

소프트 링크 는 대개 원본 파일의 대체 경로 (또는 별칭)입니다. 이것들은 심볼릭 링크 라고도 합니다 . 여기에는 링크의 "대상 파일"의 이름이 포함되며, 이 플래그는 소프트 링크임을 나타냅니다. 파일에 액세스하면 소프트 링크는 소프트 링크의 제목에 쓰여진 경로를 통해 대상 파일로 리디렉션합니다.

소프트 링크가 바로 가기로 작동하는 Windows OS의 경우 매우 편리합니다. 소프트 링크의 생성 및 삭제는 원본 파일에 영향을 미치지 않습니다. 대상 파일이 삭제되면 소프트 링크가 끊어 지므로 아무 것도 가리 키지 않으며 대상 파일에 액세스 할 때 오류 메시지가 생성됩니다. 소프트 링크는 하드 링크와 달리 inode 번호를 사용하지 않습니다. 절대 경로 또는 상대 경로는 심볼릭 링크의 일부일 수 있습니다.

하드 링크와 소프트 링크의 주요 차이점

  1. 하드 링크는 대상 파일에 액세스하기 위해 inode를 참조하는 원본 파일의 추가 이름입니다. 반대로 소프트 링크는 원본 파일과 구별되며 원래 파일의 별칭이지만 inode는 사용하지 않습니다.
  2. 원본 파일이 삭제되면 소프트 링크가 무효화되는 반면 하드 링크는 대상 파일이 삭제 된 경우에도 유효합니다.
  3. Linux에서 하드 링크를 만드는 데 사용되는 명령은 " ln "입니다. 대조적으로, 소프트 링크에 ​​사용되는 명령은 " ln -s "입니다.
  4. 하드 링크는 소프트 링크와는 다른 inode 번호를 가지며, 대상 파일과 소프트 링크는 별개의 inode 번호를 가지고 있습니다.
  5. 하드 링크는 자체 파티션으로 제한되지만 소프트 링크는 다른 파일 시스템을 커버 할 수 있습니다.
  6. 어떤 경우에는 하드 링크의 성능이 소프트 링크보다 낫습니다.
  7. 상대 경로와 절대 경로는 모두 소프트 링크에서 허용됩니다. 반대로, 상대 경로는 하드 링크에서 허용되지 않습니다.

결론

하드 링크는 추가 공간이 필요하지 않으며 매트가 더 빨리 해결되지만 하드 링크에 적용된 변경 사항은 원본 파일에 반영됩니다. 반면에 소프트 링크는 추가 공간이 필요하지만 소프트 링크의 변경 사항은 원본 파일에 영향을주지 않습니다. 소프트 링크는 하드 링크와 달리 디렉토리에 허용됩니다.

Top