소프트 링크가 파일 시스템 경계를 넘을 수 있다는 것은 무엇을 의미합니까? 이는 ext4 파일 시스템의 파일에 대한 ext3의 소프트 링크를 생성할 수 있다는 의미입니까?
또한 소프트 링크와 하드 링크의 차이점이 무엇인지 이해하지만(적어도 희망합니다)(제가 이해한 바에 따르면 첫 번째 링크는 MS Windows 바로 가기와 유사하며 바로 가기/포인터에는 고유한 inode 번호가 부여됩니다. 따라서 액세스하는 동안 소프트 링크는 실제로 링크된 파일을 호출합니다. 그렇죠?)
반면에 하드 링크는 하나 이상의 파일을 단일 inode 번호와 연결하여 모든 파일을 서로 구별할 수 없게 만듭니다. 따라서 복사될 실제 파일이 두 개 있는 것과 같습니다(링크된 파일에서 링크된 파일로). 이것이 맞습니까?
답변1
소프트 링크는 링크되는 파일이 어디에 있는지 운영 체제에 알려주는 일종의 텍스트 파일입니다. 예를 들어, "나는 /root/somefile을 가리킵니다." 디렉토리 트리에 위치를 표시하므로 파일 시스템 경계를 넘을 수 있습니다. 파일 시스템에는 관심이 없지만 위치에는 관심이 있습니다. 그렇습니다. ext3에서 ext4를 가리킬 수 있습니다.
하드 링크는 동일한 인덱스 노드를 공유합니다. 즉, "소프트웨어"(디렉토리 트리)가 아닌 하드웨어 위치를 가리킵니다. 이는 ext3과 ext4 사이에 하드 링크를 만들려고 하면 몇 가지 문제에 직면하게 된다는 것을 의미합니다. 이러한 파일 시스템은 다르기 때문에 inode를 공유할 수 없습니다.
또한 하드 링크는 본질적으로 동일한 파일이지만 소프트 링크는 그렇지 않습니다. 결과적으로 원본 파일을 삭제하고 소프트링크를 유지하면 파일이 사라지고 소프트링크가 깨지게 됩니다. 원본 파일을 삭제하고 하드링크를 유지하면 하드링크가 그대로 유지되기 때문에 파일은 디스크에 남게 됩니다.같은문서.