Linux下链接文件的区别——软链接和硬链接

博客搬家了,最近同时更新,没准什么时候就完全搬走了-_-
http://blog.just666.cn 这个是新博客地址,希望大家多多关照

0X00 什么是链接文件

Linux中的链接文件就相当于是Windows中的快捷方式,通过链接文件可以访问到链接指向的源文件。但是Linux下的链接文件和Windows中的快捷方式还是有一定的区别。Linux中有两种链接文件硬链接软连接也称为符号链接
在介绍链接文件之前先要介绍一下Linux文件系统中的inode

inode是Linux文件系统中文件的唯一定位器,每一个文件都有一个inode,也是唯一的,每一个inode唯一对应一个文件。

还要熟悉一下指针的问题,如果学习过C/C++的话理解起来会很轻松

计算机中所有的数据都是保存在磁盘里的,使用的时候会读取到内存中,而磁盘和内存都是一块一块的地方,我们用地址来找到数据的具体存放位置。保存了文件或者数据存放地址的物体(通常是变量)就称为指针。
我们在Linux的操作界面看到的文件,都是一个指针,他们指向磁盘的某个具体位置。这样我们每次点开文件的时候,系统就可以在磁盘对应的位置打开我们需要的文件。

0X01 硬链接

硬链接就是指向磁盘中具体位置的指针。如果我们创建一个文件,那么就会在磁盘中分配一块位置用来存储这个文件,并且创建一个指针方便我们找到这个文件。然后我们创建一个这个文件的硬链接,就相当于又创建了一个指向磁盘中存放文件的位置的指针,所以就算我们删除了之前创建的文件(其实就是一个指针),文件本身也不会被删除,因为还是有一个指针是指向文件存储位置的,所以我们还是可以通过后来创建的硬链接来访问到原来的文件。

0X02 软链接——符号链接

软连接可以大致理解成指向指针的指针。如果我们创建一个文件,并且创建了这个文件的一个软连接,那么如果删除了原来的文件,那这个文件就真的找不到了。因为软连接只是指向之前(指向具体文件位置)的指针,所以那个软连接就指向一片空白区域了,以前存在的文件也找不到了。就好像我们在Windows中卸载了一个软件,但是桌面上的快捷方式还可能存在,现在我们打开那个快捷方式是不能访问到软件的,因为已经被我们删除了。

你可能感兴趣的:(Linux,文件系统,linux,链接)