linux硬链接和软链接的区别

来源:互联网 发布:淘宝冲q币怎么买 编辑:程序博客网 时间:2024/06/06 02:31

概括:
1.软连接有自己的inode文件节点,并在磁盘上有一小片空间存放路径名;
2.硬链接是一个文件有多个别名,系统并不为它重新分配inode节点。
3.软连接可以对目录进行连接,硬链接不行。
具体看代码:

可以看到硬链接的inode节点与其父目录的inode文件节点相同。

参考信息:
《linux就该这样学》
硬链接可以被理解为一个“指向原始文件inode的指针”,系统不为它分配独立的inode
和文件,所以实际上来说硬链接文件与原始文件其实是同一个文件,只是名字不同。于是
每添加一个硬链接,该文件的inode连接数就会增加1,直到该文件的inode连接数归0才
是彻底删除。概括起来说因为硬链接实际就是指向原文件inode的指针,即使原始文件被
删除依然可以通过链接文件访问,但是不能跨文件系统也不能链接目录文件。

《鸟哥的私房菜》
因此,通常情况下,设置硬链接文件时,不会占用磁盘空间和inode。
新建一个硬链接只是在某个目录(硬链接所在的当前目录)下的block里多写入一条关联数据而已。
只有在当前目录的block刚好填满时,才有可能为当前目录新增一个block来记录文件名和inode的关联记录
因为硬链接所用掉的关联数据量很小,所以说硬链接通常不会改变inode和磁盘空间大小

原创粉丝点击