>운영 및 유지보수 >리눅스 운영 및 유지 관리 >소프트 링크와 하드 링크의 차이점은 무엇입니까

소프트 링크와 하드 링크의 차이점은 무엇입니까

王林
王林앞으로
2020-08-03 17:32:535951검색

소프트 링크와 하드 링크의 차이점은 무엇입니까

하드 링크란 무엇인가요?

하드 링크: A는 B에 대한 하드 링크입니다(A와 B는 모두 파일 이름입니다). 그러면 A 디렉터리 항목의 inode 노드 번호는 B 디렉터리 항목의 inode 노드 번호와 동일합니다. inode 노드는 두 개의 다른 파일 이름에 해당합니다. 두 파일 이름은 동일한 파일을 가리키며 파일 시스템과 완전히 동일합니다.

(추천 튜토리얼: linux 튜토리얼)

둘 중 하나를 삭제해도 다른 하나에는 아무런 영향이 없습니다. 파일 이름이 추가될 때마다 inode 노드의 링크 수가 1씩 증가하고, 해당 파일 이름이 삭제될 때마다 inode 노드의 링크 수가 0이 될 때까지 1씩 감소하며, inode 노드와 링크 수는 1씩 감소합니다. 해당 데이터 블록이 재활용됩니다.

참고: 파일과 파일 이름은 다릅니다. rm A는 파일 이름 A만 삭제하고 A에 해당하는 데이터 블록(파일)은 inode 노드 링크 수가 0으로 줄어들 때만 시스템에서 재활용됩니다.

소프트 커넥션이란?

소프트 링크는 Linux에서 일반적으로 사용되는 명령으로, 해당 기능은 다른 위치에 있는 특정 파일에 대한 동기 링크를 설정하는 것입니다.

(추천 비디오 튜토리얼: linux 비디오 튜토리얼)

구체적인 사용법은: ln -s 소스 파일 대상 파일입니다.

다른 디렉터리에서 동일한 파일을 사용해야 하는 경우 모든 필수 디렉터리에 동일해야 하는 파일을 넣을 필요는 없습니다. 다른 디렉터리에 연결하려면 ln 명령만 사용하면 됩니다. 디스크 공간을 반복적으로 차지할 필요가 없습니다.

차이점:

1. 마운트 지점

은 동일한 저장 미디어에 있는 파일 간에만 하드 링크를 생성할 수 있지만, 다른 마운트 지점에 있는 파일 간에는 하드 링크를 생성할 수 없습니다. (동일한 마운트 지점에서 다른 마운트 지점과 다른 디렉터리를 구별)

2. 디렉터리

소프트 링크는 win의 바로 가기와 동일합니다. 즉, 소프트 링크가 디렉터리인 경우 해당 디렉터리에 대한 바로 가기일 뿐입니다. 지정된 위치에 있으면 운영 체제는 이 바로 가기를 찾을 때 실제 디렉터리에서 파일을 직접 찾습니다. 그러나 하드 링크는 미러링과 동일합니다. 디렉터리에 대한 하드 링크를 만든 후 운영 체제는 이 디렉터리에 있는 모든 파일의 하드 링크(사본 복사)를 만들어야 합니다. 계속해서 탐색해야 하므로 복잡성이 크게 증가하고 무한 루프에 들어가기 쉽습니다.

파일 시스템 설계로 인해 디렉토리에 대한 하드 링크를 생성할 수 없습니다. Linux 파일 시스템의 디렉터리는 두 개의 특수 디렉터리, 즉 현재 디렉터리와 상위 디렉터리를 숨깁니다. 실제로 이는 두 개의 하드 링크입니다. 시스템이 디렉토리에 대한 하드 링크를 생성하면 디렉토리 루프가 발생합니다.

위 내용은 소프트 링크와 하드 링크의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제