命令使用方法:ln [options] existingfile newfile
ln 选项 存在的文件 新文件
软链接 | 硬链接 |
可以跨文件系统进行链接(自己创建inode) | 不能跨文件系统链接(使用目标文件的inode),添加一个硬链接目标文件的链接数会增加 |
删除原始文件,链接的文件则无效;删除链接文件对原始文件无影响。相当于“windows的快捷方式” | 删除文件只会减少链接数,只要链接数大于等于1则原始文件不会受影响。 |
可以对一个目录做软链接 | 不可以对目录做软链接 |
可以对一个不存在的文件名进行链接 | 不可以对一个不存在的文件名进行链接 |
链接文件和原始文件inode不同 | 链接文件和原始文件inode相同 |
占用空间,链接文件是一个独立的文件 | 可以节省空间 |
总结:
建立软链接就是建立了一个新文件。当访问链接文件时,系统就会发现他是个链接文件,它读取链接文件找到真正要访问的文件。建立硬链接是和源文件是一样的,文件大小属性都一样,链接数也一样,只是将指针指向了源文件。
软链接缺点:
因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。
硬链接缺点:
尽管硬链接节省空间,也是Linux系统整合文件系统的传统方式,但是存在一下不足之处:(1)不可以在不同文件系统的文件间建立链接(2)只有超级用户才可以为目录创建硬链接。