目录
一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。
ll -i #-i:显示inode编号
硬链接
用法:ln 源文件 硬链接文件
[root@qf-2 opt]# echo 222 > f1
[root@qf-2 opt]# ll -i f1 #查看f1的inode
16815870 -rw-r--r--. 1 root root 4 7月 7 20:46 f1
[root@qf-2 opt]# ln f1 f1-2 #对f1做硬链接
[root@qf-2 opt]# ll -i
16815870 -rw-r--r--. 2 root root 4 7月 7 20:46 f1
16815870 -rw-r--r--. 2 root root 4 7月 7 20:46 f1-2
[root@qf-2 opt]# rm -rf f1
[root@qf-2 opt]# ll -i
16815870 -rw-r--r--. 1 root root 4 7月 7 20:46 f1-2
运行上面这条命令以后,源文件与目标文件的inode号码相同,都指向同一个inode。inode信息中有一项叫做"链接数",记录指向该inode的文件名总数,这时就会增加1。
反过来,删除一个文件名,就会使得inode节点中的"链接数"减1。当这个值减到0,表明没有文件名指向这个inode,系统就会回收这个inode号码,以及其所对应block区域。
软连接
用法:ln -s 源文件 链接文件
[root@qf-2 opt]# echo 111 > f1
[root@qf-2 opt]# ll -i
16815870 -rw-r--r--. 1 root root 4 7月 7 20:52 f1
[root@qf-2 opt]# ln -s f1 f1-2 #将文件f1软连接到f1-2
[root@qf-2 opt]# ll f1-2
lrwxrwxrwx. 1 root root 2 7月 7 20:53 f1-2 -> f1
[root@qf-2 opt]# ll -i
16815870 -rw-r--r--. 1 root root 4 7月 7 20:52 f1
16815872 lrwxrwxrwx. 1 root root 2 7月 7 20:53 f1-2 -> f1
[root@qf-2 opt]# cat f1
111
[root@qf-2 opt]# cat f1-2
111
[root@qf-2 opt]# rm -rf f1-2 #取消软连接
[root@qf-2 opt]# ln -s f1 f1-2
[root@qf-2 opt]# rm -rf f1 #删除源文件
[root@qf-2 opt]# ll f1-2
lrwxrwxrwx. 1 root root 2 7月 7 20:53 f1-2 -> f1 #失效 f1-2变红 f1闪动变红
[root@qf-2 opt]# ln -s /root/aaa /opt/bbb
[root@qf-2 opt]# ll /opt/bbb
总用量 0
lrwxrwxrwx. 1 root root 9 7月 7 21:02 aaa -> /root/aaa
[root@qf-2 opt]# rm -rf /opt/bbb 取消链接,注意:删除目录链接时目录后面加“/”是删除目录,不加是删除链接
软硬链接区别
- 软链接可以跨文件系统,硬链接不可以;
- 软链接可以对目录进行连接,硬链接不可以;
- 删除源文件之后,软链接失效,硬链接无影响;
- 两种链接都可以通过命令 ln 来创建;
- ln 默认创建的是硬链接;
- 使用 -s 参数可以创建软链接。