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
ファイルを使う必要になる場面、どんな場面なんだろう?