ls -l 명령을 하면 화일의 하드링크번호도 출력이 됩니다. 그런데 디렉토리에 대한 하드링크번호의 의미를 잘 모르겠네요. 추론해 보려 해도 별로 일관성을 찾지 못하겠습니다. 뭘까요?
하드링크번호(번호라기보다는 갯수라는 말이 낫지 싶습니다만)의 의미야 파일이든 디렉토리든 동일하게 아이노드 번호를 공유하는 디렉토리 엔트리의 갯수일테고... 값이 제각각인 이유를 궁금해하시는 걸로 보입니다만,
/home/kim 이라는 디렉토리를 예로 들면,
/home 의 디렉토리 엔트리 내에 kim 을 가리키는 아이노드가 있을 것이고, /home/kim/ 의 디렉토리 엔트리 내에 "."이란 이름의 아이노드가 있을 것이고, /home/kim/의 서브디렉토리들 각각에 ".."이란 이름의 아이노드가 있을테니,
기본적으로 2개(/는 1이려나요? 확실히 모르겠군요)에다가 서브디렉토리의 수만큼 더한 값이 되겠죠. 그 외에 그 디렉토리를 하드링크한 곳이 있다면 그 수를 합한 값이 되겠지만 보통 디렉토리에 대한 하드 링크는 허용을 안 하죠.
하드링크번호(번호라기보다는 갯수라는 말이 낫지 싶습니다만)의 의미야 파일
하드링크번호(번호라기보다는 갯수라는 말이 낫지 싶습니다만)의 의미야 파일이든 디렉토리든 동일하게 아이노드 번호를 공유하는 디렉토리 엔트리의 갯수일테고... 값이 제각각인 이유를 궁금해하시는 걸로 보입니다만,
/home/kim 이라는 디렉토리를 예로 들면,
/home 의 디렉토리 엔트리 내에 kim 을 가리키는 아이노드가 있을 것이고,
/home/kim/ 의 디렉토리 엔트리 내에 "."이란 이름의 아이노드가 있을 것이고,
/home/kim/의 서브디렉토리들 각각에 ".."이란 이름의 아이노드가 있을테니,
기본적으로 2개(/는 1이려나요? 확실히 모르겠군요)에다가 서브디렉토리의 수만큼 더한 값이 되겠죠. 그 외에 그 디렉토리를 하드링크한 곳이 있다면 그 수를 합한 값이 되겠지만 보통 디렉토리에 대한 하드 링크는 허용을 안 하죠.