Différence entre les liens souples et les liens durs

Différence entre les liens souples et les liens durs

Dans Linux, les liens vers des fichiers sont créés de la même manière que les références aux fichiers sont créées dans les langages de programmation les plus courants. Ces liens sont divisés en deux catégories: des liens durs et doux.

Un lien dur est effectivement une réplique identique du fichier, donc le lien dur et le fichier réel auront tous deux le même inode.

Un lien souple, également connu sous le nom de lien symbolique, fonctionne de manière similaire à un raccourci ou un pointeur vers un fichier. Ce n'est pas une réplique exacte du fichier, mais plutôt un pointeur vers l'original.

Les valeurs inode d'un lien souple vers un fichier et le fichier réel diffèrent. De plus, vous ne pourrez pas accéder au contenu du lien souple si vous supprimez le fichier réel. Dans cet article, nous en apprendrons plus sur les liens souples et les liens durs.

Comprendre la différence entre les liens durs et les liens souples

Quels sont les liens souples dans Linux?

Nous avons une fonction de raccourci de fichiers dans Windows qui est utilisée pour créer un raccourci pour les fichiers. Un lien souple est similaire à un raccourci de fichier. Chaque fichier lié à soft a sa propre valeur inode, qui fait référence au fichier d'origine. Toute modification des informations dans un fichier se reflète dans l'autre. Vous pouvez connecter des liens souples sur différents systèmes de fichiers, mais si le fichier source est supprimé ou transféré, le fichier lié à soft ne fonctionnera pas correctement. Ce lien est appelé un lien suspendu. La suppression d'un lien souple n'a aucun effet, mais si vous supprimez le fichier d'origine, il peut provoquer le fait que le lien cessera de fonctionner.

Un lien souple peut être utilisé pour pointer vers un répertoire et il conserve simplement le chemin d'accès au fichier d'origine, pas son contenu. La taille de la liaison souple sera égale au fichier pour lequel la liaison souple est formée. Par exemple, si le fichier est.TXT est de 5KB, le lien souple de ce fichier sera également de 5 Ko.

Un lien doux:

  • peut traverser le système de fichiers,
  • vous permettre de vous connecter entre les répertoires,
  • a des autorisations de fichier différentes et inode que le fichier d'origine,
  • Les autorisations ne seront pas modifiées,
  • et a juste le chemin du fichier d'origine, pas son contenu

Quels sont les liens durs dans Linux?

Un lien dur dans Linux est équivalent à un fichier enregistré sur un disque dur - et il fait vraiment référence à ou se lie à un emplacement sur un disque dur. Un lien dur est essentiellement une image miroir du fichier d'origine. La différence entre un lien dur et un lien souple est que la suppression du fichier source n'a aucun effet sur un lien dur mais rend un lien soupfait. L'avantage le plus important de créer un lien dur est que vous pouvez toujours accéder au contenu du fichier même si vous l'effectuez involontairement.

Un lien dur:

  • Impossible de parcourir les bordures du système de fichiers,
  • Impossible de connecter les répertoires,
  • a les mêmes autorisations de fichier et le numéro d'inode que le fichier d'origine
  • Si nous modifions les autorisations du fichier source, les autorisations seront également modifiées pour le lien dur
  • Contient le contenu du fichier d'origine, même si le fichier d'origine est détruit, vous pouvez accéder au contenu.

Différence entre les liens souples et les liens durs

ParamètreLien soupleLien dur
Numéro inodeNuméro inode différent de celui du fichier d'origine.Même numéro inode que le fichier d'origine.
AnnuaireLes liens souples peuvent lier les répertoiresLes liens durs ne peuvent pas lier les répertoires à travers.
Suppression du fichier d'origineLe lien ne fonctionnera pas si le fichier d'origine est supprimé car il n'accède pas aux données du fichier d'origine. Ce n'est rien de plus qu'un raccourci vers le fichier d'origine.Le lien dur continuera de fonctionner même si le fichier d'origine est supprimé car il accède aux mêmes données que l'original.
VitesseLes liens souples sont plus lentsLes liens durs sont plus rapides que les liens souples.
Consommation de mémoirePlusMoins

Vérifiez la capture d'écran ci-dessous des différences d'inode entre les fichiers de liaison dur et de liaison souple:

Modifications inode dans le lien souple et le lien dur

Comment créer des liens durs et des liens souples?

Comprenons les différences avec une pratique rapide. Créez un fichier texte simple dans un répertoire et nommez-le Fichier1.SMS. Nous allons créer un lien souple et un lien dur pour ce fichier.

Création du lien dur:

  1. Pour créer un lien dur, nous utilisons le "LN" commande. Tapez donc la commande suivante dans votre fenêtre de terminal:
    LN Fichier1.txt hardlink.SMS  
  2. Nous utilisons donc ici la commande 'in' pour créer un lien dur, puis nous donnons le nom du fichier pour lequel nous avons besoin du lien dur, puis nous nommons le lien dur qui est HardLink.SMS.

    Tapez la commande suivante après l'exécution de la commande précédente:

    ls -l  
  3. Cela vous montrera qu'il y a deux fichiers dans le répertoire - fichier1.txt et hardlink.SMS. Vérinons maintenant si notre fichier de lien dur fonctionne ou non. Ouvrez le hardlink.Fichier txt dans un éditeur de texte:
    nano hardlink.SMS  
  4. Modifiez le contenu du fichier et écrivez quelque chose de différent. Puis ouvrez le fichier d'origine:
    Fichier de chat1.SMS  
  5. Vous verrez que les modifications apportées dans les fichiers de liaison dur sont reflétées dans le fichier d'origine. Maintenant, supprimons le fichier d'origine et voyons si le fichier de liaison dur fonctionnera toujours ou non:
    Fichier RM1.SMS  
  6. Exécutez la commande "LS" et vous verrez qu'il n'y a qu'un seul fichier dans le répertoire HardLink.SMS. Ouvrez le fichier et vous verrez que le fichier a toujours le même contenu.

Création d'un lien souple:

  1. Pour démontrer, Agai j'ai créé un fichier.txt dans le répertoire actuel. Nous allons créer un lien doux pour le même. Exécutez la commande suivante pour créer un lien souple:
    Fichier LN -S1.Txt Softlink.SMS  
  2. Courir le ls -l commande et vous verrez qu'il y a deux fichiers différents dans le répertoire. Maintenant si vous tapez
    Cat Softlink.SMS  
  3. Vous verrez le contenu du fichier1.txt comme le lien souple pointe vers ce fichier. Et si vous supprimez le fichier1.fichier txt:
    Fichier RM1.SMS  
  4. Exécutez à nouveau le ls -l commande et vous verrez une erreur. C'est parce que le fichier d'origine est supprimé et le lien souple ne peut pas fonctionner sans cela. Et si nous tapons:
    Cat Softlink.SMS  

    Vous verrez qu'il n'y a pas un tel fichier ou un tel répertoire

Emballer

Un lien dur prend moins d'espace et fonctionne plus rapidement, mais les modifications apportées à lui sont reflétées dans le fichier d'origine. Tandis que les liens souples ont besoin de plus d'espace, les modifications de la liaison souple n'ont aucun effet sur le fichier d'origine. Contrairement aux liens durs, les connexions souples aux répertoires sont autorisées.