[질문] 소프트링크 와 파일권한의 관계에 대해...
글쓴이: MetallizM / 작성시간: 월, 2008/01/14 - 6:00오후
안녕하세요 리눅스 공부한지 몇일 안됀 신참입니다
파일 하나를 만들어서 소프트 링크를 한번 걸어 보았습니다
링크 파일 하나가 생성되더군요
거기서 파일 권한을 링크 파일에 한번 아무거나 줘보았습니다
그랬더니 링크 파일의 권한은 그대로 남아 있고 대신 원본 파일의 권한이 변경 되더군요
왜 이런지 궁금합니다..
또 하나 궁금증이 있는데 하드링크는 원본 파일이랑 똑같이 용량을 잡아먹던데
df명령 이었나..그걸루 확인해 보니 용량의 변화는 없더군요
분명 같은 용량의 파일이 하나 더 늘어났는데 왜 용량의 변화가 없는지 정말 궁금하더라구요..
지식인이나 웹사이트 검색을 좀 돌아 다녀봤으나 초보가 알기엔 부족한 설명의 글이라든가
책에서 나와있는거 처럼 간략한 설명의 글은 검색으로 몇개 읽어보았으나...
저의 이 궁금증을 해소할 속시원한 답변을 찾지 못하고 전전긍긍 하다...
그래도 역시 이 곳이 리눅스 고수님들이 많이 계신 곳이니
여기라면 답변을 찾을수 있을것 같아서 질문 드려봅니다
Forums:
그것은..
하드링크를 했다고 파일을 복사한 것이 아니라 실제로는 파일 시스템에 같은 inode 를 가르키는 인스턴스를 하나 추가한 것이기 때문입니다. 즉 파일 이름의 크기에 해당하는 byte 정도 밖에 늘어나지를 않습니다.
그리고 각 inode 는 reference count 를 가지고 있어서 몇개의 파일 인스턴스가 해당 inode 를 가르키는지 셈하고 있습니다.
따라서 하드링크를 해도 용량이 늘어나지 않는 것과 반대로 해당 inode 를 가르키는 모든 파일들이 제거 되어 reference count 가 0 이 될 때까지 하드 링크된 파일들을 지워도 용량이 줄지 않습니다.
도움이 될런지 모르겠군요.
위의 내용은 아래 책에서 읽은 기억이 있습니다.
http://www.amazon.com/Design-Operating-System-Prentice-Software/dp/0132017997
댓글 달기