首页 >> IT知识库 >> 综合知识 >>linux系统下关于相同 inode 的疑问
详细内容

linux系统下关于相同 inode 的疑问

问题:linux系统下关于相同 inode 的疑问。
[root@localhost /]# df
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/sda2             13322104   1860428  10784940  15% /
/dev/sda1                93309      9426     79066  11% /boot
none                    127632         0    127632   0% /dev/shm

------------------------------------------------------------------------------------------------------
一个 ls 命令:
[aaa@localhost /]$ ls -laid / /home/.. /usr/.. /boot/.. /etc/..
      2 drwxr-xr-x   20 root     root         4096  2月  9 14:43 /
      2 drwxr-xr-x   20 root     root         4096  2月  9 14:43 /boot/..
      2 drwxr-xr-x   20 root     root         4096  2月  9 14:43 /etc/..
      2 drwxr-xr-x   20 root     root         4096  2月  9 14:43 /home/..
      2 drwxr-xr-x   20 root     root         4096  2月  9 14:43 /usr/..

看到所有的 inode值 都是相同的,因为他们引用的是同一个 inode ,就是 / ,根目录
------------------------------------------------------------------------------------------------------
但是让我疑惑的是这个:
[root@localhost /]# ls -ladi . .. / /boot
      2 drwxr-xr-x   20 root     root         4096  2月  9 14:43 /
      2 drwxr-xr-x   20 root     root         4096  2月  9 14:43 .
      2 drwxr-xr-x   20 root     root         4096  2月  9 14:43 ..
      2 drwxr-xr-x    4 root     root         1024  1月 29 19:19 /boot

------------------------------------------------------------------------------------------------------
不是 inode 就是一个文件么,根目录用的是 inode 2,那么 目录. 和 目录.. 也应该是 inode 2,但是为什么 /boot 也是 2 呢?

为什么不能是 inode 3 呢?然后配合里面的 . 的 inode 是2多好呢。为什么连 /boot 也是 2 呢?

------------------------------------------------------------------------------------------------------
[aaa@localhost lize]$ stat /; stat /boot
  File: ‘/’
  Size: 4096            Blocks: 8          IO Block: 4096   Directory
Device: 802h/2050d      Inode: 2           Links: 20  
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-02-09 21:35:46.000000000 +0800
Modify: 2012-02-09 14:43:45.000000000 +0800
Change: 2012-02-09 14:43:45.000000000 +0800

  File: ‘/boot’
  Size: 1024            Blocks: 2          IO Block: 4096   Directory
Device: 801h/2049d      Inode: 2           Links: 4   
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-02-09 22:27:20.000000000 +0800
Modify: 2012-01-29 19:19:56.000000000 +0800
Change: 2012-01-29 19:19:56.000000000 +0800

------------------------------------------------------------------------------------------------------
一个 inode 中引用了不同的 block?为什么 /boot 的 inode 不是 3 呢?请高手指教。

回答:因为 /boot  和  /  是不同的分区,一般分区的根都是 inode 2。

dumpe2fs -h /dev/sda1 的 block size = 1024
stat stat /boot
File: ‘/boot’
Size: 1024            Blocks: 2          IO Block: 4096   Directory

dumpe2fs -h /dev/sda2 也是

------------------------------------------------
所以上面说明了一点,同一个文件系统内 inode 是唯一的
但是不同的文件系统 inode 可以重复。希望能帮助到大家。

在线客服
- 客户经理
  • 点击这里给我发消息
  • 点击这里给我发消息
技术支持: 建站ABC | 管理登录