본문 바로가기
개발/linux

soft link와 hard link 차이 그리고 inode

by amkorousagi 2022. 10. 22.

linux hard link symbolic link inode
soft link and hard link in linux filesystem with inode

hard link


hard link는 original file의 inode를 가리킵니다.

hard link는 original file의 기존 filename과 구분할 수 없습니다.

또 하나의 original file에 대한 filename을 만들었다고 생각하면 됩니다.

 

symbolic link (soft link)


symbolic link는 original file의 filename을 가리킵니다.

symbolic link는 window의 바로가기와 비슷하게 동작합니다.

 

hard link vs. soft link (symbolic link)


1. original file이 삭제되면

 

hard link : 기존 file content이 소실되지 않습니다. 여전히 해당 inode를 가리키는 filename이 존재하기 때문입니다. (hard link는 정상 작동합니다.)

soft link : 기존 file content가 소실됩니다. 더 이상 해당 inode를 가르키는 filename이 없기때문에 해당 inode 영역을 초기화합니다. (soft link는 정상 작동하지 않습니다.)

 

 

2. original file의 filename이 바뀌거나 위치가 이동되면

 

hard link : original file의 inode는 바뀌지 않았기 때문에 링크가 정상적으로 동작합니다.

soft link : original file의 filename이 바뀌었기 때문에 더이상 링크가 동작하지 않습니다.

 

 

inode


linux(unix) filesystem은 저장공간(hard disk)을 효율적으로 사용하기 위해 각 영역으로 잘게 쪼갭니다.

그리고 각 영역을 구분하여 접근하기 위해 각 영역에 서로 다른 inode를 부여합니다.

그것이 inode입니다. 

 

filesystem for filename


filename은 어디 있습니까?

filename은 filesystem 안에 있습니다.

filename은 부모 directory에 저장되어 있습니다.

 

directory는 자식 파일들의 filename과 해당 inode 묶음의 목록입니다.

directory는 file type이 directory인 file입니다. 즉 directory도 고유한 inode를 가집니다.

 

더 자세한 내용은 다음 포스팅에서 다루겠습니다.

 

참고 자료


 

 

Unix filesystem - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Directory structure used by a Unix-like operating system "Usr" redirects here. For other uses, see USR. "Unix file system" redirects here. For UFS, a specific file system used by many

en.wikipedia.org

 

 

 

Where is the name of a file stored in the file system?

Not sure if this is the correct stack-site to ask this question, but I found this being the most "logical" one. We're having a huge argument over where the file name is stored in the system. One o...

serverfault.com

 

'개발 > linux' 카테고리의 다른 글

kill, ps 사용법, 설명  (0) 2022.10.22
linux ln 사용법, 설명 : 링크 만들기  (0) 2022.10.22
linux apk 사용법, 설명  (0) 2022.10.22
linux yum 사용법, 설명  (0) 2022.10.22
linux curl과 wget 차이, 사용법, 설명  (0) 2022.10.22

댓글