각 파일이 실제로 최소한 2개의 이름(따라서 2개의 하드 링크)을 가질 수 있습니까?

각 파일이 실제로 최소한 2개의 이름(따라서 2개의 하드 링크)을 가질 수 있습니까?

이 페이지는 인덱스 노드에 관한 것입니다.특히 파일 시스템의 피상적인 개념을 이해하는 데 도움이 됩니다. 같은 페이지에서 작성자는 모든 파일이나 디렉터리에 최소한 2개의 이름(및 하드 링크)이 있음을 증명하는 다음 코드 조각을 삽입했습니다.

/tmp/junk$ ls -id ..
327681 ..
/tmp/junk$ cd ..
/tmp$ ls -id .
327681 .

/tmp3개의 하드 링크가 있음 을 알 수 있습니다 .

  1. 아마도 파일 이름 "tmp"의 inode는
  2. 이름이 ".."인 동일한 인덱스 노드
  3. 이름이 "."인 동일한 인덱스 노드

/tmp내 질문: 하위 디렉터리가 주어지면 디렉터리의 "정크" 파일도 3개의 이름(및 하드 링크)을 가질 수 있습니까? 예를 들어, /tmp/junk/paper_balls.

내 가설: "정크" 파일이 상위 파일이 되면 해당 파일을 사용할 수 ..는 있지만 상대적으로 호출할 수 있습니다. 즉, 현재 작업 디렉터리(입력한 원본 ..)가 디렉터리 경로 내에 있어야 함을 의미합니다 /tmp/. 내 질문에 대한 대답은 아마도 너무 발전된 것 같습니다.

답변1

초기 하드 링크 수는 1입니다.문서그리고 2목차(첫 번째 링크는 상위 폴더에 있는 이름이고, 두 번째 링크는 하드 링크입니다 ..) 디렉터리 내에 하위 디렉터리가 생성될 때마다 디렉터리의 링크 개수는 ..각 하위 디렉터리 내에서 1씩 증가합니다.

이 개수는 를 사용하여 쉽게 볼 수 있습니다 ls -l. 이것이 두 번째 값입니다. 구경하다:

~/x$ ls -la
total 16
drwxr-xr-x  2 tomasz tomasz 4096 Sep 24 00:08 .
drwxr-xr-x 54 tomasz tomasz 4096 Sep 24 00:11 ..
-rw-r--r--  1 tomasz tomasz   19 Sep 23 18:45 1
-rw-r--r--  1 tomasz tomasz   19 Sep 23 18:45 2
~/x$ mkdir d
~/x$ ls -la
total 20
drwxr-xr-x  3 tomasz tomasz 4096 Sep 24 00:11 .
drwxr-xr-x 54 tomasz tomasz 4096 Sep 24 00:11 ..
-rw-r--r--  1 tomasz tomasz   19 Sep 23 18:45 1
-rw-r--r--  1 tomasz tomasz   19 Sep 23 18:45 2
drwxr-xr-x  2 tomasz tomasz 4096 Sep 24 00:11 d
~/x$ mkdir d/dd
~/x$ ls -la
total 20
drwxr-xr-x  3 tomasz tomasz 4096 Sep 24 00:11 .
drwxr-xr-x 54 tomasz tomasz 4096 Sep 24 00:11 ..
-rw-r--r--  1 tomasz tomasz   19 Sep 23 18:45 1
-rw-r--r--  1 tomasz tomasz   19 Sep 23 18:45 2
drwxr-xr-x  3 tomasz tomasz 4096 Sep 24 00:11 d

그 안에 생성된 후 두 번째 값은 d2에서 3으로 증가합니다.d/dd

더 넓은 관점을 보려면 아래 mosvy의 의견을 참조하세요.

관련 정보