Lien doux (Symbolique) vs Lien Dur

Les liens symboliques (également appelés liens souples) et les liens durs sont une ressource pour accéder à des fichiers ou des répertoires depuis n’importe quel emplacement. Cet article décrira les différences entre les liens symboliques et les liens physiques.

Liens en dur

Les liens en dur ne sont pas un fichier contenant le chemin d’accès au fichier d’origine, mais des copies miroir du fichier d’origine vers lequel ils pointent. Un fichier et ses liens physiques ne sont pas associés par le nom ou le chemin, mais par l’inode qui stocke des informations sur le fichier, comme son emplacement, sa date de création, ses autorisations et d’autres attributs. Chaque numéro d’inode est unique au sein d’un système de fichiers, ce qui empêche les liens physiques de fonctionner entre différentes partitions ou systèmes. Les liens physiques ne peuvent pas être utilisés pour lier des répertoires.

Contrairement aux liens logiciels, les liens physiques contiennent les informations auxquelles ils renvoient, donc si le fichier d’origine est supprimé, vous pouvez toujours accéder à ses données.

Dans tous les systèmes Linux, les liens physiques et symboliques sont créés avec la commande « ln ». Pour commencer, créez d’abord un fichier appelé LinuxHintFile et un répertoire appelé LinuxHintDirectory comme indiqué dans l’image ci-dessous:

touchez LinuxHintFile
rmkdir LinuxHintDirectory
ls
root@LinuxHint:/home/linuxhint #

Pour créer un lien dur appelé Link2LHFile vers le fichier LinuxHintFile exécuté dans le terminal:

ln LinuxHintFile Link2LHFile

Après avoir vérifié avec ls, nous voyons le lien dur que nous venons de créer, si vous tapez ls-i, vous verrez les inodes des fichiers, vous pouvez confirmer que le lien que nous venons de créer a le même numéro d’inode par rapport au fichier d’origine, tapez:

ls-i

Comme nous l’avons dit plus haut, nous ne pouvons pas utiliser de liens durs pour les répertoires ni de liens vers d’autres volumes ou systèmes de fichiers, nous lierons LinuxHintDirectory avec un lien souple.

Vous pouvez trouver des liens durs dans le répertoire de travail en exécutant:

find-type f-links+1

Vous pouvez également trouver des fichiers par inodes, pour cette exécution:

trouver. – inum <InodeNumber>

Comme vous le voyez, il a trouvé à la fois le fichier d’origine et le lien dur partageant le même numéro d’inode.

Liens souples

Contrairement aux liens durs, les liens souples ne sont pas des copies du fichier d’origine, ils contiennent le chemin d’accès au fichier d’origine, de ce fait, si le fichier d’origine est supprimé, le lien souple ou le lien symbolique indiquera qu’aucun fichier ne devient un lien brisé, ou un lien orphelin, ce qui signifie que si vous perdez le fichier source, si vous le supprimez ou le déplacez, le lien symbolique perdra l’accès aux informations, tandis qu’avec le lien dur, les informations restent malgré la suppression du fichier source car il s’agit d’une copie complète et exacte de ce fichier.

Contrairement aux liens physiques, les liens symboliques ne partagent pas le même inode avec le fichier d’origine, c’est pourquoi les liens symboliques peuvent croiser des volumes et des systèmes de fichiers alors que les liens physiques ne le peuvent pas. Les liens symboliques peuvent être utilisés pour lier des répertoires alors qu’avec des liens physiques ce n’est pas possible.

Des liens symboliques sont également créés avec le programme ln, mais pour que le lien soit symbolique / soft, nous devons spécifier le paramètre -s, pour créer un lien symbolique vers le répertoire LinuxHintDirectory appelé LHDLink run:

ln-s LinuxHintDirectory LHDLink

Puis exécutez ‘ls-i’ pour vérifier qu’il a été correctement créé:

Comme nous le voyons dans ce cas, le lien symbolique a été créé, mais il a un lien différent numéro d’inode que le fichier d’origine.

Nous pouvons lister les liens symboliques dans un répertoire avec la commande « ls-l »

Dans l’image ci-dessus, nous pouvons voir dans les autorisations du premier fichier le préfixe ”l » pour les liens symboliques, la fin de la ligne indique également vers quel fichier pointe le lien symbolique.

J’espère que vous avez trouvé cet article utile pour comprendre les différences entre les liens physiques et les liens symboliques et comment les créer. Continuez à suivre LinuxHint pour plus de conseils et de mises à jour sur Linux.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.