Linux硬链接和软链接
1.硬链接:文件别名
通过前面讲的Linux ext2文件系统,我们知道在目录文件的block中,存放着目录下文件的文件名和对应的inode。
可以将多个文件名对应到同一个inode,
新建一条文件名链接到某inode号,这就是硬链接。
可以看出,硬链接只是新建了一个文件名,关联到一个已存在的文件。
此时,目录下的block多写了一个文件名/inode的数据
所以,硬链接没有增加inode和block的耗用。
2.软链接:类似windows中的快捷方式
软链接的实质是,创建了一个独立的文件,而读取这个文件时,会指向它链接的那个文件的文件名。类似于重定向的功能。
软链接新建了文件,所以是要耗用inode和block的。
3.硬链接和软链接的比较
1)硬链接比较安全,多个文件名对应一个inode时,若删除文件,只要还有其他的文件名对应着这个inode文件,文件就不会删除,
此时,只是将文件的连接数减1,当连接数为0时,文件真正删除。
硬链接不会耗用inode和block
硬链接不能链接到目录。
2)软链接
软链接比较灵活,可以链接到文件和目录。
但是会耗用inode和block,不过这点空间不算什么。
若目标文件删除,则读取链接文件会失败。