아래 출력을 살펴보세요. 아래 출력에서 /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 파티션이 하나만 있습니다.거래소는 닫혔지만 그게 중요하지 않다고 생각합니다.
편집 - Stephen이 지적한 질문에 대한 답변이 상당 부분 완료되었습니다./home, /usr, /var 등의 디렉토리가 모두 동일한 inode 번호(2)를 갖는 이유는 무엇입니까?
하지만 어떻게 작동하는지 더 자세히 알고 싶습니다.
Linux를 설치할 때 하나의 파일 시스템(/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)