Linux操作系统 —— 软硬链接及其创建

软链接

  在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

  软链接的创建会占用少量的资源,占用的资源取决于绝对路径的字符数目

硬链接

  硬链接和软链接有着根本上的区别,如下:

  1. 我们创建完硬链接后,无论是相对路径还是绝对路径,都不会使链接失效。
  2. 硬链接的创建不占用资源。
  3. 对硬链接的操作会直接影响到源文件,如果删除硬链接,源文件也会跟着被删除。
  4. 如果有其它硬链接的存在,删除源文件后,文件内容仍然存在。

  当我们用ls -l命令的时候,会发现硬链接和源文件所占用的磁盘空间一样大,那么为什么我们说硬链接的创建不占用资源呢?

  我们可以这样理解,源文件其实也是一个硬链接,所有的硬链接都是i结点的一个映射,当该i结点没有映射的情况下,它便被视为空闲的磁盘空间,会被其它文件所覆盖。当i结点有多个映射的情况下,删除一个映射并不影响i结点的内容。而软链接就跟Windows的快捷方式一样,相当于告诉了系统我们要访问的文件在哪里,系统根据路径去寻找源文件的位置,因此我们对软链接的删除只是删除了源文件的绝对路径而已。

创建硬链接

$ ln file1 file2

你可能感兴趣的:(Linux操作系统,linux)