通过实际操作来辨别softlink和hardlink的区别: 首先我们在/home/下建立了一个文件source.file [root@wang home]# ll 接着分别建立两种连接: [root@wang home]# ll 1,文件类别上,hardlink显示的是正常的普通文件,而softlink生成的文件显示的是一个连接文件,并且操作权限也不一样; 2,上面输出的第二列也就是连接数不一样; 3,文件的大小不一样;hardlink生成的文件和原文件一模一样,而softlink只是一个符号连接。 4,softlink生成的文件有个指向-〉原文件的标志 接着我们用ll -i命令看一下,-i能显示出文件的inode号 [root@wang home]# ll -i 总结: (1)由于不同的分区会有相同的inode及硬连接的特殊性和文件系统的可卸载性,导致硬连接不容许跨文件系统(分区)!而 soft link 具有完整的 pathname,所以他可以跨越不同文件系统。 (2)硬连接不会建产新的inode,硬连接不管有多少个,都指向的是同一个inode节点,只是新建一个hard link会把结点连接数增加,只要结点的连接数不是0,文件就一直存在,不管你删除 的是源文件还是连接的文件。只要有一个存在,文件就存在(其实也不分什么源文件连接文件的,因为他们指向都是同一个 inode节点)。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改 。软链接不直接使用inode节点号作为文件指针,而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的inode,并在磁盘上有一小片空间存放路径名. (3)软连接可以对一个不存在的文件名进行连接。 (4)软连接可以对目录进行连接。 ln -s source dist # 建立软连接 |
|