以下の出力を見てください。以下の出力では/dev
、およびのinode番号は/run
2と同じです。./
andのinode番号../
(おそらく../が./を指す必要があるため特別な場合です)も2と2です。内容が完全に異なるため、dev
同じinodeを持ちます。run
/
$ll -i
total 84
2 drwxr-xr-x 20 root root 4096 Aug 18 01:21 ./
2 drwxr-xr-x 20 root root 4096 Aug 18 01:21 ../
12 lrwxrwxrwx 1 root root 7 Aug 18 01:19 bin -> usr/bin/
1048577 drwxr-xr-x 4 root root 4096 Sep 1 15:53 boot/
5636097 drwxr-xr-x 2 root root 4096 Aug 18 01:21 cdrom/
2 drwxr-xr-x 23 root root 4920 Sep 3 11:20 dev/
262145 drwxr-xr-x 144 root root 12288 Sep 3 09:34 etc/
524289 drwxr-xr-x 3 root root 4096 Aug 18 01:22 home/
13 lrwxrwxrwx 1 root root 7 Aug 18 01:19 lib -> usr/lib/
14 lrwxrwxrwx 1 root root 9 Aug 18 01:19 lib32 -> usr/lib32/
15 lrwxrwxrwx 1 root root 9 Aug 18 01:19 lib64 -> usr/lib64/
16 lrwxrwxrwx 1 root root 10 Aug 18 01:19 libx32 -> usr/libx32/
11 drwx------ 2 root root 16384 Aug 18 01:18 lost+found/
3932161 drwxr-xr-x 5 root root 4096 Aug 18 17:23 media/
1572865 drwxr-xr-x 7 root root 4096 Sep 2 14:19 mnt/
9175041 drwxr-xr-x 4 root root 4096 Aug 28 23:46 opt/
1 dr-xr-xr-x 359 root root 0 Sep 3 10:18 proc/
5505025 drwx------ 11 root root 4096 Sep 1 17:49 root/
2 drwxr-xr-x 43 root root 1320 Sep 3 11:24 run/
17 lrwxrwxrwx 1 root root 8 Aug 18 01:19 sbin -> usr/sbin/
2097153 drwxr-xr-x 11 root root 4096 Aug 26 20:34 snap/
655361 drwxr-xr-x 2 root root 4096 Jul 31 21:57 srv/
1 dr-xr-xr-x 13 root root 0 Sep 3 10:18 sys/
4325377 drwxrwxrwt 22 root root 4096 Sep 3 11:25 tmp/
1310721 drwxr-xr-x 14 root root 4096 Jul 31 21:58 usr/
8388609 drwxr-xr-x 14 root root 4096 Jul 31 22:05 var/
/sys
と同じです/proc
。内容は異なりますが、同じinodeを共有します。
注:システム全体にはext4パーティションが1つしかありません。取引所は閉じたが、それは重要ではないと思います。
編集 - Stephenが指摘した質問に対する答えはかなり完了しました。/home、/usr、/varなどのディレクトリがすべて同じinode番号(2)を持つのはなぜですか?
しかし、どのように動作するかをもっと詳しく知りたいです。
Linuxをインストールするときは、1つのファイルシステム(/dev/sda1 -> ext4 -> /)だけを言及しました。したがって、dev、run、proc、sysの場合、Linuxはこれらの追加のFSを作成しており、今は推論できます。
私はこれが/proc
HDD / SSDではなくメモリにある仮想ファイルシステムであることを知っています。誰が説明できますか/dev
?/run
どうしたの/sys
?ハードドライブに存在しますか?もしそうなら、意味のある追跡が可能であればどこにありますか?
答え1
異なるファイルシステムにあるからです。
これはdevice_id:inode
、inodeだけでなくファイルを一意に識別するタプルです。
# mount
...
/dev/sda8 on / type ext4 (rw,relatime,errors=remount-ro)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=816612k,mode=755)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=4032552k,nr_inodes=1008138,mode=755)