inode概要

macOSのファイルシステムにはファイルやディレクトリを管理するためのinodeという概念がある。macOSには/.volが存在し、inode番号を使ってファイルやディレクトリにアクセスすることができる。

Handson

ファイル/のinodeをコマンドstatを使って確認してみる。

❯ stat -f "%d %i %N" /
16777230 2 /

上の出力は以下のように解釈できる。

  • 16777230: デバイス番号
  • 2: inode番号。
  • /: File path

さて、このファイルを/.volファイルを使ってアクセスしてみる。

❯ /bin/ls -lid /.vol/16777230/2
2 drwxr-xr-x  20 root  wheel  640 Nov  3 07:44 /.vol/16777230/2

/.vol/16777230/2/と同じinode番号を持つファイルであることがわかる。条件式を使う場合、-efでinode番号を比較することができる。

[[ /.vol/16777230/2 -ef / ]] && echo 'same inode'

まとめ

/.volファイルを使う必要になる場面、どんな場面なんだろう?