Parler des liens durs et des liens souples sous Linux

Avant-propos : La méthode de stockage de la mémoire sous Linux est différente de celle de Windows. C'est le petit problème le plus fondamental pour apprendre Linux. Si vous ne comprenez pas cela, vous pouvez seulement dire que vous ne connaissez pas assez Linux.

Qu'est-ce qu'un lien ?

Un lien est un moyen de créer une connexion entre un fichier partagé et plusieurs éléments du répertoire de l'utilisateur qui y accède.

Lorsque nous parlons de liens physiques et de liens souples, parlons d'abord du stockage sur disque dur.

pour le stockage sur disque dur

Comme le montre la figure, le disque dur est divisé en une partie métadonnées et une partie données

Une bonne compréhension des données consiste à stocker vos données, alors qu'est-ce que les métadonnées ? Metadata , vous pouvez comprendre que cette chose est un index. Lorsque vous voulez trouver des données, vous devez trouver l'adresse principale de l'emplacement où vous souhaitez trouver des données dans les métadonnées, puis accéder aux données après avoir obtenu la partie adresse principale pour trouver des données stockées.

Prenons l'exemple du lecteur flash USB que nous avons acheté. Si vous achetez un lecteur flash USB de 128 G, vous le branchez sur l'ordinateur et constatez qu'il ne s'agit pas de 128 G, peut-être seulement de 117 G. Alors, où est passé le plus de 10 G ? En fait, le 10G est alloué à la partie métadonnées.

Parlons ensuite des liens physiques

Un lien dur est un pointeur vers un inode (ce que nous appelons une "clé"). Le système ne leur réattribue pas d'inodes, les deux fichiers ont le même inode. Créez un lien dur avec la commande ln.

Les fichiers de liens physiques ont les deux limitations suivantes :

  • Autoriser la création de liens physiques vers des répertoires

  • Les liens ne peuvent être créés qu'entre des fichiers d'un même système de fichiers

Supposons que nous ayons un fichier q.txt et que les données aient été stockées dans la partie données. Si nous voulons accéder aux données, nous obtenons la "clé" dans les métadonnées via q.txt et allons dans la partie données pour trouver le Si un lien dur est établi, alors link.txt pointe également vers la "clé" pointée par q.txt, aucun nouvel inode n'est créé et aucun espace disque n'est occupé (avantages) .

Lorsque nous supprimons le fichier, nous n'effaçons pas réellement les données stockées, mais coupons simplement l'entrée pour interroger les données. Lorsque nous établissons un lien physique, nous supprimons q.txt comme indiqué dans la figure ci-dessous .

À ce stade, nous pouvons toujours accéder aux données via link.txt.

Parlons liens symboliques

对于软链接我们对他并不陌生,可能你会说自己没有听说过软链接,那只是你没有了解他的名字,但是你一直再用这个链接,在Windows系统中,我们用类似软链接的形式,那些所谓的快捷方式就是“软链接”,我们应该删除过文件,没错,当我们把源文件删除后(其实就是删除了入口),我们采用的软链接就不能再访问文件数据了。

软链接也叫符合链接,这个文件包含了另一个文件的路径名。可以任意文件或目录。

软链接图示

软链接与硬链接不同,他们不公用一个“钥匙”,而是再元数据那新建了一个inode(我所称的“钥匙”),如图,红色的小点就是。当我们采用p.txt来访问数据的时候,过程:从p.txt在元数据找到inode,这个里面指向q.txt,如何在从q.txt去元数据那找到“钥匙”,然后去数据那去找存储的数据。

当我们删除掉源文件q.txt

q.txt指向“钥匙”的链接断了,所以我们用p.txt就没法在访问数据了。

实例

接下来我们在centos7里面进行操作一波,这个软硬链接。

硬链接

我们先来一个硬链接,创建一个空文档,在里面写入一句代码,然后对他创建硬链接。

创建空文档:touch 文件名,进去文档写:vim 文件名,创建硬链接:ln 文件名 新文件名

先创建然后从硬链接访问,删除源文件然后再用硬链接还可以继续访问

软链接

同样创建一个空文档,建立一个软链接:ln -s 文件名 新文件名

看完这些估计应该对这有了了解,鄙人不才,如有不对的地方清多多指教。

Je suppose que tu aimes

Origine blog.csdn.net/qq_61897141/article/details/129629698
conseillé
Classement