您的位置:首页 > 运维架构 > Linux

Linux——磁盘及文件系统

2015-11-19 23:38 363 查看

软硬链接

命令: ln [-s -v] SRC DEST

-s :进行软链结(symbolic link) 又称符号连接

不加-s 则表示创建硬链接

-v :在连结之前显示其档名,也就是显示创建过程

无论是软链接还是硬链接,文件都保持同步变化。也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化。

区别

硬链接:

1、只能对文件创建,不用应用于目录;

2、不能跨文件系统;

3、创建硬链接会增加被链接文件的链接次数;

4、在inode table(索引表)中,硬链接的inode index (索引节点)指向被链接文件的inode index ,也就是相当于多个文件名指向同一 个inode index ,也就指向了同一个磁盘块。创建一个硬链接就会增加一个可访问该文件的链接路径,其大小为被链接文件的大小;

5、删除硬链接只是被链接文件的链接次数减1,而不会真正删除文件,而且就算被链接的源文件(也是一个硬链接)被删除,硬链接还可以打开该文件,只要链接次数不为1,文件都不会被真正删除;

作用:硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

软连接(符号链接):

1、可以应用于文件和目录;

2、可以跨文件系统;

3、不会增加被链接文件的链接次数;

4、在inode table(索引表)中,软连接的inode index (索引节点)中存放了被链接文件的路径,不管创建了多少个软链接,系统只会有一个真实的链接路径,其大小为被连接文件的路径所包含的字符个数;

5、删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接;

概况的说:

创建一个硬链接就是通过指向被链接文件的 inode index (索引节点),给被链接文件增加一个有效路径名。

创建一个软链接就是给被链接文件创建一个快捷方式。

文件系统结构

以Ext2文件系统为例,结构图如下:



补充资料:/article/10121859.html

补充:

一般只有普通文件和目录文件(文件名称和inode的对应关系)才占据磁盘块。

对于符号链接,如果目标路径名较短则直接保存在inode中以便更快地查找,如果目标路径名较长则分配一个数据块来保存。

设备文件、FIFO和socket等特殊文件没有数据块,设备文件的主设备号和次设备号保存在inode中。

操作系统是如何去查找一个文件的?如/home/test.sh?

1、先找根,inode表中找到根的inode号

2、根据inode号找到根对应的磁盘块

3、根据根磁盘块中存放的文件与inode号对应关系,找到home文件对应的inode号

4、根据inode号去inode表中查找home对应的磁盘块

5、在home磁盘块中查找test.sh文件对应的inode号

6、根据inode号去inode表中查找test.sh文件对应的磁盘块

7、读取test.sh文件对应的各个磁盘块

目录是一张表,存放的是 inode号与文件的对应关系,磁盘存储结构如下图:



Ext3 与 Ext2文件系统的区别?



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: