免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 11264 | 回复: 11
打印 上一主题 下一主题

i节点是否和文件是一一对应的关系? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-28 11:10 |只看该作者 |倒序浏览
即是否文件系统中的每一个文件都对应一个i节点,每一个i节点都只对应一个文件?

论坛徽章:
0
2 [报告]
发表于 2006-04-28 13:10 |只看该作者
那是怎样的情况呢?是一个i节点可以对应多个文件?

论坛徽章:
0
3 [报告]
发表于 2006-04-28 15:43 |只看该作者
i-node 是标记文件中数据快存储位置的指针,一个I-NODE中能标记的数据快的个数是固定的,当文件很小时,一个文件对应一个I-node ,当文件比较大时一个文件对应多个I-NODE .

论坛徽章:
0
4 [报告]
发表于 2006-04-28 22:29 |只看该作者
我有不同的理解。\r\nunix中的文件(包括目录)是以i-node来标识的,即一个i-node就是一个文件。但一个i-node可以有多个文件名。\r\n这相当于在现实社会中,每个人在信息系统中是以身份证来唯一识别的;但为了助记,每个人可能有一个或多个中文称呼。\r\n\r\n对于小文件(<=32KB),直接在i-node中有8个字节来记录最多8个数据块(AIX中每块4KB)位置。对于大文件(>32KB),仍是一个i-node,但对于该文件数据块的位置,将以一级乃至二级节点来记录。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2006-04-29 11:22 |只看该作者
同意楼上\r\n但是\r\n做硬链接时,一个inode对应两个文件。软链接时,还是1个文件对应一个inode

论坛徽章:
0
6 [报告]
发表于 2006-04-29 15:27 |只看该作者
事实胜于雄辩\r\n\r\n# >aa\r\nls -il\r\n4098 -rw-r--r--   2 root     system            0  4月29 15时20 aa\r\n\r\n# ln aa bb\r\n#ls  -il\r\n 4098 -rw-r--r--   2 root     system            0  4月29 15时20 aa\r\n 4098 -rw-r--r--   2 root     system            0  4月29 15时20 bb\r\n\r\n# ln -s aa cc\r\n# ls -il\r\n 4098 -rw-r--r--   2 root     system            0  4月29 15时20 aa\r\n 4098 -rw-r--r--   2 root     system            0  4月29 15时20 bb\r\n 4099 lrwxrwxrwx   1 root     system            2  4月29 15时21 cc -> aa

论坛徽章:
0
7 [报告]
发表于 2009-07-09 11:32 |只看该作者
我统一Chuny的说法\r\n\r\n 发表于 2006-4-28 15:43\r\ni-node 是标记文件中数据快存储位置的指针,一个I-NODE中能标记的数据快的个数是固定的,当文件很小时,一个文件对应一个I-node ,当文件比较大时一个文件对应多个I-NODE .\r\n \r\n 但ar6400的说法:发表于 2006-4-28 22:29\r\n“我有不同的理解。\r\nunix中的文件(包括目录)是以i-node来标识的,即一个i-node就是一个文件。但一个i-node可以有多个文件名。\r\n这相当于在现实社会中,每个人在信息系统中是以身份证来唯一识别的;但为了助记,每个人可能有一个或多个中文称呼。\r\n\r\n对于小文件(<=32KB),直接在i-node中有8个字节来记录最多8个数据块(AIX中每块4KB)位置。对于大文件(>32KB),仍是一个i-node,但对于该文件数据块的位置,将以一级乃至二级节点来记录。”\r\n\r\n中 “unix中的文件(包括目录)是以i-node来标识的,即一个i-node就是一个文件。” 不太准确。\r\n\r\n一个inode应该唯一的指向VFS系统内的一个文件的某一个存储区域。“一个i-node 就是一个文件的说法”不好。 \r\n一个inode对应一个文件,但文件可以有多个inode。是1:n的关系。\r\n文件名是对文件而言的,不是inode的属性。

论坛徽章:
0
8 [报告]
发表于 2009-07-09 15:12 |只看该作者
看看我做的测试实际情况把:\r\n[test13serv]$mkdir /test\r\n[test13serv]$cd /test\r\n[test13serv]$cd /\r\n[test13serv]$ls -lid /test\r\n25972 drwxr-xr-x    2 root     system          256 Jul  9 02:16 /test\r\n[test13serv]$cd /test\r\n[test13serv]$ls -li \r\ntotal 0\r\n[test13serv]$touch t1\r\n[test13serv]$touch t2\r\n[test13serv]$ls -li  \r\ntotal 0\r\n25973 -rw-r--r--    1 root     system            0 Jul  9 02:16 t1\r\n25974 -rw-r--r--    1 root     system            0 Jul  9 02:16 t2\r\n[test13serv]$ln -s t2 tc2\r\n[test13serv]$ls -li\r\ntotal 0\r\n25973 -rw-r--r--    1 root     system            0 Jul  9 02:16 t1\r\n25974 -rw-r--r--    1 root     system            0 Jul  9 02:16 t2\r\n25975 lrwxrwxrwx    1 root     system            2 Jul  9 02:17 tc2 -> t2\r\n[test13serv]$oslevel -s\r\n6100-03-01-0921\r\n[test13serv]$mount\r\n  node       mounted        mounted over    vfs       date        options      \r\n-------- ---------------  ---------------  ------ ------------ --------------- \r\n         /dev/hd4         /                jfs2   Jun 19 01:08 rw,log=/dev/hd8 \r\n         /dev/hd2         /usr             jfs2   Jun 19 01:08 rw,log=/dev/hd8 \r\n         /dev/hd9var      /var             jfs2   Jun 19 01:08 rw,log=/dev/hd8 \r\n         /dev/hd3         /tmp             jfs2   Jun 19 01:08 rw,log=/dev/hd8 \r\n         /dev/hd1         /home            jfs2   Jun 19 01:09 rw,log=/dev/hd8 \r\n         /dev/hd11admin   /admin           jfs2   Jun 19 01:09 rw,log=/dev/hd8 \r\n         /proc            /proc            procfs Jun 19 01:09 rw              \r\n         /dev/hd10opt     /opt             jfs2   Jun 19 01:09 rw,log=/dev/hd8 \r\n[test13serv]$

论坛徽章:
0
9 [报告]
发表于 2009-07-09 15:25 |只看该作者
[test13serv]$lmktemp t3 10M\r\nt3\r\n[test13serv]$ls -il\r\ntotal 20488\r\n25973 -rw-r--r--    1 root     system            0 Jul  9 02:16 t1\r\n25974 -rw-r--r--    1 root     system            0 Jul  9 02:16 t2\r\n25982 -rw-r--r--    1 root     system     10485760 Jul  9 02:30 t3\r\n25975 lrwxrwxrwx    1 root     system            2 Jul  9 02:17 tc2 -> t2\r\n[test13serv]$lmktemp t4 1M\r\nt4\r\n[test13serv]$ls -il\r\ntotal 22536\r\n25973 -rw-r--r--    1 root     system            0 Jul  9 02:16 t1\r\n25974 -rw-r--r--    1 root     system            0 Jul  9 02:16 t2\r\n25982 -rw-r--r--    1 root     system     10485760 Jul  9 02:30 t3\r\n25986 -rw-r--r--    1 root     system      1048576 Jul  9 02:31 t4\r\n25975 lrwxrwxrwx    1 root     system            2 Jul  9 02:17 tc2 -> t2\r\n[test13serv]$lmktemp t5 512K\r\nt5\r\n[test13serv]$lmktemp t6 256K\r\nt6\r\n[test13serv]$ls -il\r\ntotal 24088\r\n25973 -rw-r--r--    1 root     system            0 Jul  9 02:16 t1\r\n25974 -rw-r--r--    1 root     system            0 Jul  9 02:16 t2\r\n25982 -rw-r--r--    1 root     system     10485760 Jul  9 02:30 t3\r\n25986 -rw-r--r--    1 root     system      1048576 Jul  9 02:31 t4\r\n25987 -rw-r--r--    1 root     system       524288 Jul  9 02:31 t5\r\n25988 -rw-r--r--    1 root     system       262144 Jul  9 02:31 t6\r\n25975 lrwxrwxrwx    1 root     system            2 Jul  9 02:17 tc2 -> t2

论坛徽章:
0
10 [报告]
发表于 2009-07-09 15:34 |只看该作者
一个文件只占用一个inode,不会占用多个的!\r\n你们用df命令看文件系统的Iused信息就知道了!\r\n\r\nJFS2的inode为动态的,所以就不用考虑inode数量问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP