【Linux基础】Linux软链接简介

一、Linux软链接简介

Linux的软链接(symbolic link)又叫符号连接,相当于Windows下的快捷方式。

Linux软链接的对象可以是任意文件或目录,也可以链接不同文件系统的文件,甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象")。

也可以循环链接自己,这一点类似于编程语言中的递归。

二、Linux软链接语法

Linux软链接的语法如下所示:

ln -s existingfile 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

linux免费学习课程  :

linux基础
http://www.makeru.com.cn/course/details/2058?s=26056

C高级之linux
http://www.makeru.com.cn/course/details/2478?s=26056

linux多线程编程
http://www.makeru.com.cn/course/details/1937?s=26056

你可能感兴趣的:(创客学院教你linux教程)