폴더의 하드 링크 수를 얻는 방법은 무엇입니까?

폴더의 하드 링크 수를 얻는 방법은 무엇입니까?

저는 Mac을 사용하고 있습니다. 그러나 나는 gstat(GNU stat)를 사용하므로 동작이 Linux와 일치해야 한다는 것을 이해합니다.

cd폴더로 이동합니다 . 그런 다음 을 사용합니다 gstat --format=%h .. 출력은 입니다 65.

다음으로 을 사용합니다 gfind . -maxdepth 1 | wc -l. 출력은 입니다 64.

gstat해당 폴더에 대한 하드 링크 수를 반환하는 명령을 원합니다 . 하지만 그 안에 직접 포함된 파일 + 폴더 수 +1)을 반환하는 것 같습니다.

다음과 같은 질문이 있습니다.

  1. 폴더의 하드 링크 수를 얻는 방법은 무엇입니까?
  2. 하드 링크는 파일과 폴더에 대해 다르게 작동합니까?
  3. 폴더는 단지 특별한 유형의 파일인가요, 아니면 완전히 다른 파일인가요?
  4. 폴더에 inode가 있습니까?
  5. 폴더의 inode가 그 안에 포함된 파일 및 폴더의 inode에 어떤 방식으로든 연결되어 있습니까?

이것이 중요한지는 모르겠지만 만약을 대비해 내 컴퓨터와 버전에 대한 자세한 내용은 다음과 같습니다.

  • 칩: Apple M1 Max
  • macOS: 벤처 13.5.2
  • gstat버전: stat(GNU coreutils) 9.1

mount출력(내 파일 시스템 형식에 대한 정보):

/dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk3s6 on /System/Volumes/VM (apfs, local, noexec, journaled, noatime, nobrowse)
/dev/disk3s2 on /System/Volumes/Preboot (apfs, local, journaled, nobrowse)
/dev/disk3s4 on /System/Volumes/Update (apfs, local, journaled, nobrowse)
/dev/disk1s2 on /System/Volumes/xarts (apfs, local, noexec, journaled, noatime, nobrowse)
/dev/disk1s1 on /System/Volumes/iSCPreboot (apfs, local, journaled, nobrowse)
/dev/disk1s3 on /System/Volumes/Hardware (apfs, local, journaled, nobrowse)
/dev/disk3s5 on /System/Volumes/Data (apfs, local, journaled, nobrowse, protect)
map auto_home on /System/Volumes/Data/home (autofs, automounted, nobrowse)

관련 정보