在虚拟文件系统中抽象了4个对象:超级块、索引节点、目录项和文件对象。
超级块:存放描述文件系统的有关信息。每个文件系统都有自己的超级块,不同文件系统的超级块不同。文件系统的超级块在文件系统安装时建立,在卸载时自动删除。
索引节点对象:存放具体文件的信息,代表实际一个文件。
目录项对象:文件目录树的路径的一个组成部分。方便查找文件设立的,一个路径的各个组成部分不管是文件还是目录都是一个目录项对象。
目录项对象没有对应的磁盘数据结构。
文件对象:描述进程打开的文件。文件对象和物理文件是对应的,表示进程和文件的对应。
多个进程可以打开同一个文件,所以同一个文件可以对应多个文件对象。
拓展:为一个文件建立硬链接的就是为这个文件对应的inode节点建立一个新的目录项指向这个inode。
ln 创建硬链接
ln 文件1 文件2
文件1和文件2指向同一个inode,使用ls -i 可以为一个文件建立硬链接后,inode号相同,内容也是相同的,操作的是同一个文件。