在“浅谈linux性能调优之三:分区格式化以前的考虑”
1.建立好文件系统并挂载:inode,block信息以下:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb5 28112 11 28101 1% /test5
/dev/sdb6 28112 11 28101 1% /test6
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb5 108837 5663 97555 6% /test5
/dev/sdb6 108865 5663 97581 6% /test6
2.在/test5下建立一个testfile文件:后信息以下:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb5 28112 12 28100 1% /test5
/dev/sdb6 28112 11 28101 1% /test6
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb5 108837 5664 97554 6% /test5
/dev/sdb6 108865 5663 97581 6% /test6
结论:建立一个文件时,占用一个inode,至少一个block
3.从/test5复制文件testfile到/test6/testfile.cp
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb5 28112 13 28099 1% /test5
/dev/sdb6 28112 12 28100 1% /test6
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb5 108837 5664 97554 6% /test5
/dev/sdb6 108865 5664 97580 6% /test6
结论:复制应该等于创建的过程
4.移动/test5/testfile到/test6/
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb5 28112 12 28100 1% /test5
/dev/sdb6 28112 13 28099 1% /test6
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb5 108837 5664 97554 6% /test5
/dev/sdb6 108865 5664 97580 6% /test6
结论:/test5 inode减小一个, /test6 inode增长一个,/test5 block应该不变,/test6应该减小一个 可能由于文件大小
5.在/test6下删除testfile
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb5 28112 12 28100 1% /test5
/dev/sdb6 28112 12 28100 1% /test6
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb5 108837 5664 97554 6% /test5
/dev/sdb6 108865 5664 97580 6% /test6
结论:删除文件时,只删除inode节点,不销毁block块中的数据,同时这也是数据恢复的基础
硬连接
---------------------------------
刚才说过,当系统要读取某个文件时,它会先读inode table,而后根据inode的信息到数据区域将数据取出备用。硬连接就是再创建一个inode连接到文件放置的Block块。也就是说,进行硬连接时,实际上您的文件内容不会改变,只是原来的inode与后来添加的inode都可指定到该文件存放的地点,所以,读取两个inode的结果都是读取同一个文件的内容。不过,这样一来就有个问题,由于inode会连接到Block块,而"目录"自己仅消耗inode,这样,硬连接就不能连接目录。因此,硬连接有两个最大的限制:
(1) 不能跨文件系统,由于不一样的文件系统有不一样的inode table;
(2) 不能连接目录。
软连接(符号连接)
---------------------------------
相对于硬连接,符号连接比较好理解,基本上,它是再创建一个独立文件,而这个文件会让数据读取操做指向它连接的那个文件。因为只是利用文件做为指向的动做,因此,当源文件被删除,符号连接的文件就打不开了,屏幕会显式"没法开启某文件"。
所以,硬连接比较安全,由于即某一个inode被删除,只要还有一个inode,该文件就能被找到。
node