하드 링크와 소프트 링크를 철저하게 이해하세요.
이 글은 하드링크와 소프트링크를 완전히 이해하는 데 도움이 될 것입니다. 인내심을 가지고 읽어보시길 바랍니다!
설명을 시작하기 전에 먼저 개념이나 특정 지식 포인트를 학습하는 방법을 살펴보겠습니다.
첫 번째 단계: 이것이 무엇인지 알아야 합니다. 무엇입니까
2단계: 이게 무슨 소용이 있나요? 왜 그런 것이 있는 걸까요? 왜
3단계: 이 제품을 어떻게 사용하나요? HOW
첫 번째 단계부터 단계별로 살펴보겠습니다. 하드 링크와 소프트 링크란 무엇입니까?
다른 글에서 복사한 설명입니다. 이 글을 읽고 화가 나셨나요? 이것은 무엇에 관한 것입니까? 이야기를 마친 후에도 하드 링크와 소프트 링크가 무엇인지 여전히 이해하지 못합니다.
왜 이해가 안 되나요? 몇 번 씹어보니 그 이유는 인덱스 노드 Inode가 무엇인지 이해하지 못했기 때문이라는 것을 알게 되었습니다. 이 설명은 소프트 링크와 하드 링크가 이 인덱스 노드에 의존한다는 것을 의미합니다. 그럼 먼저 Inode가 무엇인지 이해해 봅시다.
여기에 다시 새로운 개념이 등장합니다. 동일한 세 단계입니다.
첫 번째 단계는 무엇입니까: Inode란 무엇입니까?
두 번째 단계 왜: Inode의 용도는 무엇입니까? 아이노드의 탄생이유는 무엇인가? 추가 예정
세 번째 단계 HOW: Inode를 사용하는 방법은 무엇입니까? 추가하려면 먼저 파일에 대해 알아야 합니다. 운영체제에서 파일을 생성, 수정, 삭제한 것은 우리 모두가 다 알고 있는 내용입니다. 내 E 드라이브에 mp4 형식으로 저장되어 있습니다. 물론 이것은 Windows 시스템입니다.
Linux 시스템에서 파일에는 데이터의 두 부분이 포함됩니다.
첫 번째 부분은 데이터의 내용인 실제 파일 데이터입니다. 예를 들어, 시스템에 "베이징 부자 여성의 주소록"이라는 파일을 비밀리에 생성하는 경우 데이터의 이 부분에는 부자 여성의 전화번호, 주소, 사진, 치수, 재산 등이 저장됩니다.
두 번째 부분은 파일 작성자, 파일 생성 시간, 파일 크기 등 파일의 메타데이터 정보를 저장하는 것입니다. 파일 메타데이터를 저장하기 위한 이 저장 영역을 INODE라고 하며 중국어로 번역하면 "인덱스 노드"입니다. 인덱스 노드를 통해 실제 파일 데이터를 빠르게 찾을 수 있습니다.
위에서는 INODE에 대해 간략하게 소개했는데, 파일 메타데이터를 저장하는 곳이라는 개념은 누구나 갖고 있을 것입니다. INODE를 더 깊이 이해하기 위해 INODE의 여러 속성에 대해 간략하게 이해해 보겠습니다.
inode에는 파일의 메타 정보가 포함되어 있습니다. 각 파일은 다음과 같은 특정 내용을 포함하는 Inode에 해당합니다.
stat 명령을 사용하여 볼 수 있습니다.
파일 이름 외에 다른 모든 정보는 inode에 있습니다. 파일 이름이 없는 이유는 아래에서 설명하겠습니다.
Inode는 파일의 메타데이터를 저장하기 때문에 저장공간을 차지해야 한다. Inode의 크기는 디스크가 포맷될 때 이미 결정된다는 점에 유의해야 합니다. 하드 디스크가 포맷되면 운영체제는 하드 디스크를 두 개의 영역으로 나누는데, 하나는 파일 데이터를 저장하는 데이터 영역이고 다른 하나는 아이노드에 포함된 정보를 저장하는 아이노드 영역(아이노드 테이블)입니다.
각 Inode의 크기는 일반적으로 128바이트 또는 256바이트로 포맷 시 부여되는 1KB 또는 2KB로 설정된다. 1G 하드디스크를 가정하면, 각 Inode의 크기는 128바이트이고, 1KB마다 1개의 Inode가 설정된다. 그러면 아이노드 테이블의 크기는 1GB/1KB * 128byte = 128M로 하드디스크의 12.5%를 차지한다. .
각 파일에는 inode가 있어야 하기 때문에 inode를 다 써도 디스크가 꽉 차지 않는 경우가 발생할 수 있습니다.
각 inode에는 운영 체제가 inode를 식별하는 데 사용하는 번호가 있습니다.
운영 체제는 파일 이름에 관심이 없지만 inode 번호로 파일을 식별한다는 점을 언급할 가치가 있습니다. 운영 체제에서 파일 이름은 inode 번호의 또 다른 이름이나 별명일 뿐입니다.
사용자는 파일 이름을 통해 파일을 엽니다. 실제로 운영 체제 내에서 이 프로세스는 세 단계로 나뉩니다.
파일의 inode 번호를 보려면 ls -i 명령을 사용하세요. .
이상으로 드디어 Inode에 대한 기본적인 이해가 끝났습니다. 정리하자면, 파일 메타데이터가 저장되는 곳입니다.
이제 하드링크와 소프트링크를 다시 살펴보겠습니다.
하드 링크를 다시 정의해 보겠습니다.
모델 다이어그램은 다음과 같습니다.
첫 번째 단계에서 하드 링크가 무엇인지 알 수 있습니다. 그럼 그것은 무엇을 하는가?
두 파일 이름이 동일한 Inode 번호를 가지고 있음을 살펴보겠습니다. 이는 두 파일 이름이 동일한 데이터 파일을 가리킨다는 것을 의미하며, 이는 한 사람이 두 이름을 갖는 것과 같습니다. 이렇게 하면 어떤 이점이 있나요?
실수로 삭제하지 마세요. 동일한 파일을 가리키는 여러 하드 링크는 모든 링크가 삭제될 때까지 삭제되지 않습니다.
소프트 연결:
모델 다이어그램은 다음과 같습니다.
위의 개념을 읽은 후 C 언어의 포인터가 생각났습니다.
소프트 링크의 역할: 파일을 삭제한 후 이 파일에 대한 다른 모든 링크를 무효화하려면 소프트 링크를 사용하는 것이 매우 적합합니다.
이제 하드링크와 소프트링크에 대한 이야기는 기본적으로 끝났습니다. 마지막 단계의 사용법은 이미 거의 다 이야기했습니다. 때로는 어떤 물건이 실제로 어떤 필요를 충족시키기 위해 탄생하는 경우도 있습니다. 그것이 태어난 이유를 알면 그것을 어떻게 사용하는지 알게 될 것입니다.