소프트(심볼릭) 링크 대 하드 링크

Soft Link Vs Hard Link



심볼릭 링크(소프트 링크라고도 함) 및 하드 링크는 모든 위치에서 파일 또는 디렉토리에 액세스할 수 있는 리소스입니다. 이 기사에서는 심볼릭 링크와 하드 링크의 차이점에 대해 설명합니다.

하드 링크

하드 링크는 원본 파일에 대한 경로를 포함하는 파일이 아니라 해당 링크가 가리키는 원본 파일의 미러 복사본입니다. 파일과 하드 링크는 이름이나 경로가 아니라 파일의 위치, 생성 날짜, 권한 및 기타 속성과 같은 정보를 저장하는 inode에 의해 연결됩니다. 각 inode 번호는 파일 시스템 내에서 고유하므로 하드 링크가 서로 다른 파티션이나 시스템 간에 작동하지 않습니다. 하드 링크는 디렉터리를 연결하는 데 사용할 수 없습니다.







소프트 링크와 달리 하드 링크에는 링크되는 정보가 포함되어 있으므로 원본 파일이 제거되더라도 해당 데이터에 계속 액세스할 수 있습니다.



모든 Linux 시스템에서 하드 링크와 심볼릭 링크는 모두 다음 명령으로 생성됩니다. . 시작하려면 먼저 리눅스힌트파일 그리고 디렉토리 리눅스힌트디렉토리 아래 이미지와 같이:



만지다리눅스힌트파일
rmkdir 리눅스힌트디렉토리

뿌리@리눅스 힌트://리눅스힌트#





터미널에서 실행되는 LinuxHintFile 파일에 Link2LHFile이라는 하드 링크를 생성하려면:

LinuxHintFile Link2LHFile



로 확인 후 방금 만든 하드 링크가 표시됩니다. ls -i를 입력하면 파일의 inode가 표시됩니다. 방금 만든 링크가 원본 파일과 동일한 inode 번호를 갖고 있는지 확인할 수 있습니다. 다음을 입력합니다.

-NS

위에서 말했듯이 디렉토리에 대한 하드 링크나 다른 볼륨이나 파일 시스템에 대한 링크를 사용할 수 없습니다. LinuxHintDirectory를 소프트 링크로 연결할 것입니다.

다음을 실행하여 작업 디렉토리 내에서 하드 링크를 찾을 수 있습니다.

찾기 -유형NS-연결+1

이 실행을 위해 inode별로 파일을 찾을 수도 있습니다.

찾기.-이넘 <아이노드 번호>

보시다시피 동일한 inode 번호를 공유하는 원본 파일과 하드 링크를 모두 찾았습니다.

소프트 링크

하드 링크와 달리 소프트 링크는 원본 파일의 복사본이 아니며 원본 파일에 대한 경로를 포함합니다. 이 때문에 원본 파일이 제거되면 소프트 링크나 심볼릭 링크가 파일이 끊어진 링크가 되지 않음을 가리킵니다. 또는 고아 링크, 즉 소스 파일을 잃어버리거나 삭제하거나 이동하면 심볼릭 링크가 정보에 대한 액세스 권한을 잃게 되는 반면 하드 링크를 사용하면 소스 파일이 완전하고 정확하기 때문에 소스 파일 제거에도 불구하고 정보가 남아 있음을 의미합니다. 해당 파일의 사본.

또한 하드 링크와 달리 심볼릭 링크는 원본 파일과 동일한 inode를 공유하지 않기 때문에 심볼릭 링크는 볼륨과 파일 시스템을 교차할 수 있지만 하드 링크는 불가능합니다. 심볼릭 링크는 불가능한 하드 링크와 함께 디렉토리를 링크하는 데 사용할 수 있습니다.

심볼릭 링크도 프로그램과 함께 생성됩니다. , 그러나 링크가 심볼릭/소프트가 되려면 매개변수를 지정해야 합니다. -NS , LHDLink라는 LinuxHintDirectory 디렉토리에 대한 심볼릭 링크를 생성하려면 다음을 실행하십시오.

-NSLinuxHintDirectory LHDLink

그리고 실행 ' ls -i ' 제대로 생성되었는지 확인하려면:

이 경우에 볼 수 있듯이 심볼릭 링크가 생성되었지만 원본 파일과 다른 inode 번호를 가집니다.

다음 명령을 사용하여 디렉토리 내의 심볼릭 링크를 나열할 수 있습니다. ls -l

위의 이미지에서 첫 번째 파일 접두사의 권한을 볼 수 있습니다. NS 심볼릭 링크의 경우 줄 끝은 심볼릭 링크가 가리키는 파일도 보여줍니다.

이 기사가 하드 링크와 심볼릭 링크의 차이점과 이를 만드는 방법을 이해하는 데 유용하기를 바랍니다. Linux에 대한 추가 팁과 업데이트를 보려면 LinuxHint를 계속 팔로우하세요.