1.硬链接
硬链接可以让多个文件名对应同一个inode
- 硬链接后的文件,并不是一个独立的文件,因为它没有自己的inode number
- 我们在删除文件时干了两件事:
- 在目录中将对应的记录删除
- 将硬链接数-1,如果为0,则将对应的磁盘释放
$ ln 0220 hard
ln: 0220: hard link not allowed for directory
硬链接只能给普通文件进行建立,linux系统不支持给目录建立硬链接
问题:那.和…就是对目录的硬链接??与上面的说法是否矛盾了??
答案:给目录建立硬链接容易形成路径环问题,所以不允许用户自己给目录建立硬链接。.和…名字特殊,做了特殊处理->方便命令行操作
2.软连接
硬连接是通过inode
引用另一个文件,软连接是通过名字引用另外一个文件
$ ln -s abc abc.s
$ ls -li
total 0
233563 -rw-rw-r-- 2 tc tc 0 Feb 20 16:51 abc
261678 lrwxrwxrwx 1 tc tc 3 Feb 20 16:51 abc.s -> abc
233563 -rw-rw-r-- 2 tc tc 0 Feb 20 16:51 def
软连接是一个独立的文件,因为它有独立的inode number
3.软硬连接对比
- 软连接是独立文件
- 硬链接只是文件名和目标文件
inode
的映射关系
4.软硬连接的用途
- 硬链接:文件备份
- 软连接:类似快捷方式