Liens rigoureux
Les liens durs ne sont pas un fichier contenant le chemin d'accès au fichier d'origine mais des copies miroir du fichier d'origine auquel ils pointent. Un fichier et ses liens durs ne sont pas associés par le nom ou le chemin mais par l'inode qui stocke les informations sur le fichier, comme son emplacement, sa date de création, ses autorisations et autres attributs. Chaque numéro d'inode est unique dans un système de fichiers empêchant les liens durs de travailler entre différentes partitions ou systèmes. Les liens durs ne peuvent pas être utilisés pour lier les répertoires.
Contrairement aux liens souples, les liens durs contiennent les informations vers lesquelles ils sont liés, donc si le fichier d'origine est supprimé, vous pouvez toujours accéder à ses données.
Dans tous les systèmes Linux, des liens durs et symboliques sont créés avec la commande "LN". Pour commencer, créer d'abord un fichier appelé Linuxhintfile Et un répertoire appelé Linuxhintdirectory Comme indiqué dans l'image ci-dessous:
Toucher LinuxHintfile
rmkdir linuxhintdirectory
LS
root @ linuxhint: / home / linuxhint #
Pour créer un lien dur appelé link2lhfile dans 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 le lien que nous venons de créer a le même numéro inode que le fichier d'origine, tapez:
ls -i
Comme nous l'avons dit ci-dessus, nous ne pouvons pas utiliser des liens durs pour les répertoires ni des 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 fonctionnant:
find -ype f -links +1
Vous pouvez également trouver des fichiers par inodes, pour cette exécution:
trouver . -inum
Comme vous le voyez, il a trouvé à la fois le fichier d'origine et le lien dur partageant le même numéro 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, à cause de cela si le fichier d'origine est supprimé, le lien souple ou le lien symbolique ne pointera pas pour aucun fichier ne devienne un lien cassé, 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 perdera 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'un complet et exact Copie de ce fichier.
Contrairement aux liens durs, les liens symboliques ne partagent pas le même inode avec le fichier d'origine, c'est pourquoi le lien symbolique peut traverser les volumes et les systèmes de fichiers tandis que les liens durs ne peuvent pas. Les liens symboliques peuvent être utilisés pour lier les répertoires avec des liens durs qui ne sont pas possibles.
Des liens symboliques sont également créés avec le programme LN, Mais pour que le lien soit symbolique / doux, 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 courir 'ls -i«Pour le vérifier, il a été correctement créé:
Comme nous le voyons dans ce cas, le lien symbolique a été créé, mais il a un numéro inode différent de celui du fichier d'origine.
Nous pouvons énumérer 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 montre également quel fichier le lien symbolique pointe.
J'espère que vous avez trouvé cet article utile pour comprendre les différences entre les liens durs et les liens symboliques et comment les créer. Continuez à suivre Linuxhint pour plus de conseils et de mises à jour sur Linux.