一、Linux软链接简介
Linux的软链接(symbolic link)又叫符号连接,相当于Windows下的快捷方式。
Linux软链接的对象可以是任意文件或目录,也可以链接不同文件系统的文件,甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象")。
也可以循环链接自己,这一点类似于编程语言中的递归。
二、Linux软链接语法
Linux软链接的语法如下所示:
ln -s exis
tingfile newfile
ln -s existingfile-list directory
其实就是在硬链接的语法上加上【-s】参数,接下来通过一个例子来学习下Linux软链接用法。
三、Linux软链接使用举例
Linux软链接的使用举例如下所示:
#ll -il
total 0
1069026 -rw-r--r-- 2 root root 0 Dec 25 21:30 file1
1069029 -rw-r--r-- 2 root root 0 Dec 25 21:29 file2
1069029 -rw-r--r-- 2 root root 0 Dec 25 21:29 file2hard
#ln -s file1 file1soft
#ll -il
total 0
1069026 -rw-r--r-- 2 root root 0 Dec 25 21:30 file1
22861 lrwxrwxrwx 1 root root 5 May 31 21:21 file1soft -> file1
1069029 -rw-r--r-- 2 root root 0 Dec 25 21:29 file2
1069029 -rw-r--r-- 2 root root 0 Dec 25 21:29 file2hard
建立软链接就是建立了一个新文件。当访问链接文件时,系统就会发现他是个链接文件,它读取链接文件找到真正要访问的文件。
四、Linux软链接的优缺点
Linux软链接的优点:
软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。
因而软链接现在使用更为广泛,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。
Linux软链接的缺点:
因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了。
而硬链接就没有这个缺陷,你想怎么移就怎么移;
还有,Linux软链接要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。
五、Linux软链接和硬链接的区别
软链接与硬链接,区别不仅仅是在概念上,在实现上也是不同的。
硬链接原文件和链接文件公用一个inode号,说明他们是同一个文件;
而软链接原文件和链接文件拥有不同的inode号,表明他们是两个不同的文件。
在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系;
硬链接的链接数会增加,而软链接的链接数目不会增加。
文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的,这用强调,因为是等同的嘛,而这里软链接显示的大小与原文件就不同了,file1大小是48B,而file1soft是5B,这里面的5实际上就是“file1”的大小。
linux学习交流群:690327559