何为软连接和硬链接
软连接(符号链接)
文件名被删除软连接即失效
注解:在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(inode )
硬链接
注:只有当所有的链接文件都删除了,文件才是真正的删除
一个硬链接被删除并不会影响到其他的链接
为文件或目录建立链接(Link)——ln命令
命令格式: ln [选项] 被链接的源文件或目录 链接文件或目标目录
选项:
-s——建立符号链接(软链接),不加该选项时建立的链接为硬链接。
-f——删除已经存在目标文件与源文件之间的链接关系。
-i——交互式地删除目标文件与源文件之间的链接关系。
示例
[root@rhcsa ~]# touch file1
[root@rhcsa ~]# ln file1 file2
[root@rhcsa ~]# ln -s file1 file3
[root@rhcsa ~]# ls -i //可以看到fil1、2的inode一样、3的inode不一样
33583173 anaconda-ks.cfg 18270143 Documents 34430908 file2 35248887 Music 51240704 Templates
1914162 data 35248885 Downloads 34431836 file3 52628776 Pictures 1545557 Videos
18270142 Desktop 34430908 file1 35248863 initial-setup-ks.cfg 1545556 Public
[root@rhcsa ~]# ls -li
34430908 -rw-r–r–. 2 root root 0 Jul 22 10:18 file1
34430908 -rw-r–r–. 2 root root 0 Jul 22 10:18 file2
34431836 lrwxrwxrwx. 1 root root 5 Jul 22 10:18 file3 -> file1
当删掉file1后,file2并不受影响,file3链接失效
[root@rhcsa ~]# rm -f file1
[root@rhcsa ~]# cat file2
[root@rhcsa ~]# cat file3
cat: file3: No such file or directory
注:软连接可以针对目录,而硬链接不行
软连接可以对一个不存在的文件名进行链接