在Windows操作系统下,我们经常在桌面创建快件方式,它所占用的资源非常的少,对它进行删除操作也不会对源文件产生什么影响。软链接和这非常相似,类似于我们在linux操作系统上为某一个文件在某一个地方创建了它的快捷方式,通过该快捷方式就能够对其进行访问,如果我们删除软链接,对源文件不产生任何的影响。
我们可以通过命令ln -s file1 file2来创建file1的软链接file2.
注意: 当我们用file1的相对路径来创建file2时,将file2移动到其它的目录下会导致软链接失效,用file1的绝对路径来创建file2时,对file2进行移动,软链接不会失效
# 将file2进行移动可能会导致软链接失效
$ ln -s file1 file2
# 对file2进行移动不会导致软链接失效
$ ln -s ~/directory1/directory2/file1 file2
软链接的创建会占用少量的资源,占用的资源取决于绝对路径的字符数目
硬链接和软链接有着根本上的区别,如下:
当我们用ls -l命令的时候,会发现硬链接和源文件所占用的磁盘空间一样大,那么为什么我们说硬链接的创建不占用资源呢?
我们可以这样理解,源文件其实也是一个硬链接,所有的硬链接都是i结点的一个映射,当该i结点没有映射的情况下,它便被视为空闲的磁盘空间,会被其它文件所覆盖。当i结点有多个映射的情况下,删除一个映射并不影响i结点的内容。而软链接就跟Windows的快捷方式一样,相当于告诉了系统我们要访问的文件在哪里,系统根据路径去寻找源文件的位置,因此我们对软链接的删除只是删除了源文件的绝对路径而已。
$ ln file1 file2