Thursday Feb 03, 2022

Différence entre Hard link et Soft link

Les liens dans Unix sont essentiellement les pointeurs qui s’associent aux fichiers et aux répertoires. La différence majeure entre un hard link et un soft link est que le hard link est la référence directe au fichier alors que le soft link est la référence par nom ce qui signifie qu’il pointe vers un fichier par nom de fichier.

Le hard link lie les fichiers et les répertoires dans le même système de fichiers, mais le soft link peut traverser les frontières du système de fichiers.

Avant de comprendre les liens, nous devrions d’abord comprendre l’inode, un inode est une structure de données composée de métadonnées sur le fichier telles que la date de création du fichier, les autorisations du fichier, le propriétaire du fichier et plus encore.

Contenu : Hard link Vs Soft link

  1. Tableau de comparaison
  2. Définition
  3. Différences clés
  4. Conclusion

Tableau de comparaison

.

.

Base de comparaison Lien dur Lien souple
Basic Un fichier est accessible par plusieurs noms différents appelés liens durs. Un fichier est accessible par différentes références pointant vers ce fichier est connu sous le nom de lien souple.
Validation du lien, lorsque le fichier original est supprimé C’est toujours valide et le fichier est accessible. Invalide
Commande utilisée pour la création ln ln -.s
Numéro de nœud Simple Différent
Peut être lié À sa propre partition. A tout autre système de fichiers même en réseau.
Consommation de mémoire Moins Plus
Chemins relatifs Sans objet Autorisé

Définition du Hard link

Les hard links relient directement deux fichiers dans le même système de fichiers et pour l’identification, il utilise le numéro d’inode du fichier. Les liens durs ne peuvent pas être mis en œuvre sur les répertoires (puisqu’ils pointent sur l’inode). Lorsque la commande « ln » est utilisée pour générer un lien dur, elle crée un autre fichier sur la ligne de commande qui peut être utilisé pour faire référence au fichier original. Le fichier original et le fichier généré ont le même inode et le même contenu ; par conséquent, ils auront les mêmes permissions et le même propriétaire.

La suppression du fichier original n’influence pas le fichier lié dur, et un fichier lié dur restera. L’inode détient un compteur, pour calculer le nombre de liens durs vers lui-même. Lorsque le compteur indique la valeur 0, alors l’inode est vidé. Chaque fois que vous apportez des modifications au lien dur, il imitera dans le fichier original.

Définition du lien souple

Les liens souples sont généralement un chemin alternatif (ou un alias) pour le fichier original ; ils sont également appelés liens symboliques. Il comprend le nom du « fichier cible » du lien, drapeau qui précise qu’il s’agit d’un lien logiciel. Lorsqu’on accède à un fichier, le lien logiciel le redirige vers le fichier cible par le biais du chemin écrit dans l’objet du lien logiciel.

Ces derniers sont très pratiques dans le cas des OS windows où le lien logiciel se comporte comme des raccourcis. La création et la suppression des soft links n’affectent pas le fichier original. Si le fichier cible est supprimé, le lien logiciel pend, ce qui signifie qu’il ne pointe nulle part et génère un message d’erreur lors de l’accès au fichier cible. Les liens souples n’utilisent pas de numéro d’inode, contrairement aux liens durs. Un chemin absolu ou relatif pourrait faire partie des liens symboliques.

Différences clés entre lien dur et lien souple

  1. Un lien dur est un nom supplémentaire du fichier d’origine qui se réfère à l’inode pour accéder au fichier cible. En revanche, le soft link est distinct du fichier original et est un alias du fichier original mais n’utilise pas l’inode.
  2. Lorsqu’un fichier original est supprimé le soft link devient invalide alors que, un hard link est valide même si le fichier cible est supprimé.
  3. Sous Linux, la commande utilisée pour la création du hard link est « ln ». Par contre, la commande utilisée pour un lien souple est « ln -s ».
  4. Le lien dur a le même numéro d’inode contrairement au lien souple, où le fichier cible et son lien souple ont un numéro d’inode distinct.
  5. Les liens durs sont limités à ses propres partitions, mais les liens souples peuvent couvrir différents systèmes de fichiers.
  6. Les performances du lien dur sont meilleures que celles du lien souple dans certains cas.
  7. Le chemin relatif et le chemin absolu sont tous deux autorisés dans les liens souples. Au contraire, le chemin relatif n’est pas autorisé dans un lien dur.

Conclusion

Un lien dur ne nécessite pas d’espace supplémentaire et mat résoudre plus rapidement, mais les modifications appliquées à un lien dur se reflètent dans le fichier original. D’autre part, le Soft link nécessite un espace supplémentaire mais toute modification du soft link n’a pas d’impact sur le fichier original. Les liens souples sont autorisés pour les répertoires, contrairement aux liens durs.

Laisser un commentaire

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

Back to Top