Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux filesystem #17

Open
iamminji opened this issue Aug 16, 2023 · 1 comment
Open

Linux filesystem #17

iamminji opened this issue Aug 16, 2023 · 1 comment
Labels
linux 리눅스

Comments

@iamminji
Copy link
Owner

블라인드에서 리눅스 파일시스템에 관한 글을 봤다.
경로를 알고 있는 상태에서도 파일 탐색이 오래 걸리냐는 질문이었다. 댓글에는 inode로 관리하기 때문에 경로를 알아도 성능은 똑같다는 것이었다.

Hard vs Symbolic Links

예전에 심볼릭 링크와 하드 링크의 차이점에 대해서 알아볼때 inode 관련해서 쓴 내용이 있다.

image

심볼릭 링크로 걸면 원본 파일을 삭제하면 링크가 깨진다. 하드 링크를 걸면 원본 파일을 삭제해도 깨지지 않는다.

파일은 inode 로 관리 되는데, 하드 링크로 걸 때는 같은 inode 를 가르키는 다른 파일을 생성한 것이다.
그래서 원본 파일 즉 최초의 파일을 삭제 하여도 신규로 건 (하드링크로 건) 파일은 살아 있기 때문에 깨지지 않는다.

inode 는 자신에게 참조된 링크를 카운트 하는데, 이 값이 0 일 때만 파일이 실제로 삭제가 된다.

(심볼릭 링크는 바로 가기와 같다. 그렇기 때문에 원본 파일을 삭제하면 링크가 깨진다.)

내가 알고 있는 inode에 대한 지식은 딱 이 정도다.
그래서 블라인드 글이 매우 흥미로웠고 관련해서 cd, ls 와 같은 리눅스 명령어의 성능에도 관심이 생겼다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
linux 리눅스
Projects
None yet
Development

No branches or pull requests

1 participant