Hardlink:
硬链接原文件&链接文件公用一个inode号,不会建立新的inode 。说明他们是同一个文件.删除源文件,硬链接仍然可以访问文件,该目录的inode和磁盘空间大小不变,block内容变化(block会存放关联数据个数)。不支持:不能跨文件系统,不能连接到目录。
Symbolic link
软链接原文件&链接文件拥有不同的inode号,表明他们是两个不同的文件,建立新的文件。源文件删除,软连接就不能运行了,相当于快捷键。 软链接是另一个文件,作用可以理解为一个指针,作用在这个文件上的操作除了删除都直接转向实际指向文件,由于是一个真实的文件所以占用磁盘空间
区别:硬链接原文件&链接文件公用一个inode号,说明他们是同一个文件,在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系;链接数目是不一样的,软链接的链接数目不会增加;文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的,这用强调,因为是等同的嘛,而这里软链接显示的大小与原文件就不同了,file1大小是48B,而file1soft是5B,这里面的5实际上就是“file1”的大小。总之,建立软链接就是建立了一个新文件。当访问链接文件时,系统就会发现他是个链接文件,它读取链接文件找到真正要访问的文件。
文件系统EXT3
目录,文件:内核为每一个新创建的目录/文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号,存放属性权限等信息,具体内容存放在block(至少一个,不够再加)。
目录中block存放该目录下的文件/目录的inode号。
读取/etc/passwd文件中内容:
1 从根目录inode中找到其内容block位置,打开block找到etc的inode号;
2 etc的inode号中找到block,打开block找到passwd的inode;
3 passwd的inode中找到block位置,打开block内容即可。