Recommandé, 2024

Choix De L'Éditeur

Différence entre lien dur et lien symbolique

Les liens dans Unix sont essentiellement les pointeurs qui s’associent aux fichiers et aux répertoires. La principale différence entre un lien physique et un lien symbolique est que ce dernier est la référence directe au fichier, tandis que le lien symbolique est la référence par son nom, ce qui signifie qu'il pointe vers un fichier par son nom.

Le lien physique relie les fichiers et les répertoires dans le même système de fichiers, mais le lien souple peut traverser les limites du système de fichiers.

Avant de comprendre les liens, nous devons 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 de fichier, le propriétaire du fichier, etc.

Tableau de comparaison

Base de comparaisonLien dur
Lien souple
De baseUn fichier peut être consulté à travers de nombreux noms différents connus sous le nom de liens physiques.Un fichier accessible via différentes références pointant sur ce fichier est appelé lien symbolique.
Validation du lien, lorsque le fichier d'origine est suppriméToujours valide et le fichier peut être consulté.
Invalide
Commande utilisée pour la créationdans
dans
numéro d'inodeMême
Différent
Peut être liéÀ sa propre partition.À tout autre système de fichiers même en réseau.
Consommation de mémoireMoinsPlus
Chemin relatifN'est pas applicablePermis

Définition du lien dur

Les liens physiques lient directement deux fichiers dans le même système de fichiers et utilisent, pour l'identification, le numéro d'inode du fichier. Les liens physiques ne peuvent pas être implémentés sur des répertoires (car ils pointent vers 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 référencer le fichier d'origine. 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 autorisations et le même propriétaire.

La suppression du fichier d'origine n'influence pas le fichier lié en dur, et un fichier lié en dur restera. L'inode contient un compteur, pour calculer le nombre de liens durs vers lui-même. Lorsque le compteur indique 0, l'inode est vidé. Chaque fois que vous apportez des modifications au lien physique, celui-ci sera imité dans le fichier d'origine.

Définition du lien symbolique

Les liens symboliques sont généralement un chemin alternatif (ou un alias) pour le fichier d'origine; ceux-ci sont également appelés liens symboliques . Il inclut le nom du «fichier cible» du lien, un drapeau qui spécifie qu'il s'agit d'un lien symbolique. Lorsqu'un fichier est utilisé, le lien virtuel le redirige vers le fichier cible via le chemin indiqué dans l'objet du lien virtuel.

Celles-ci sont très utiles dans le cas de Windows OS où le lien symbolique se comporte comme des raccourcis. La création et la suppression des liens symboliques n'affectent pas le fichier d'origine. Si le fichier cible est supprimé, le lien logiciel est suspendu, 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 symboliques n'utilisent pas le numéro d'inode, contrairement aux liens physiques. Un chemin absolu ou relatif pourrait faire partie des liens symboliques.

Principales différences entre le lien physique et le lien virtuel

  1. Un lien physique est un nom supplémentaire du fichier d'origine qui fait référence à inode pour accéder au fichier cible. En revanche, le lien symbolique est distinct du fichier d'origine et constitue un alias du fichier d'origine, mais n'utilise pas inode.
  2. Lorsqu'un fichier d'origine est supprimé, le lien symbolique devient invalide alors qu'un lien physique est valide, même si le fichier cible est supprimé.
  3. Sous Linux, la commande utilisée pour créer un lien dur est " ln ". Par contre, la commande utilisée pour un lien symbolique est " ln -s ".
  4. Le lien physique a le même numéro d'inode différent du lien symbolique, le fichier cible et son lien symbolique ayant un numéro d'inode distinct.
  5. Les liens physiques sont limités à ses propres partitions, mais les liens symboliques peuvent couvrir différents systèmes de fichiers.
  6. La performance de la liaison fixe est meilleure que la liaison souple dans certains cas.
  7. Le chemin relatif et le chemin absolu sont autorisés dans les liens symboliques. Au contraire, le chemin relatif n'est pas autorisé dans un lien dur.

Conclusion

Un lien physique ne nécessite pas d'espace supplémentaire et sa résolution est plus rapide, mais les modifications appliquées à un lien physique sont reflétées dans le fichier d'origine. D'autre part, le lien symbolique a besoin d'espace supplémentaire, mais toute modification apportée à ce dernier n'a pas d'incidence sur le fichier d'origine. Les liens symboliques sont autorisés vers des répertoires contrairement au lien physique.

Top