Créer des liens durs et doux - Préparation de l'examen RHCSA

Créer des liens durs et doux - Préparation de l'examen RHCSA

Dans cette partie de la préparation des examens RHCSA, nous tournerons notre attention vers les liens. Il existe deux types de liens, de liens durs et de liens souples. Dans cet article, nous parlerons de la façon de créer et de supprimer les liens et discuterons également de certains contexte de base derrière les deux, les liens durs et les liens souples.

Dans ce tutoriel, vous apprendrez:

  • Que sont les liens symboliques (doux)
  • Quels sont les liens durs
  • Comment créer un lien symbolique
  • Comment créer un lien dur
  • Comment supprimer le lien
Page manuelle du LN commande

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Red Hat Enterprise Linux 8 ou toute autre distribution GNU / Linux
Logiciel N / A
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Que sont les liens sur les systèmes GNU / Linux

Chaque fichier a des informations sur sa date de création, de modification, d'accès ainsi que de la propriété des fichiers et de ses autorisations stockées dans un soi-disant inode. En plus des métadonnées stockées déjà mentionnées, le inode Stockage également des informations sur un bloc de données où le contenu réel du fichier est stocké sur le système de fichiers.

Par conséquent, la fonction principale du inode est de décrire un objet de système de fichier tel qu'un fichier ou un répertoire. Afin d'accéder à l'objet de système de fichier associé à un spécifique inode Nous devons fournir à l'utilisateur un lien dur qui est le fichier ou le nom du répertoire réel.

Cela explique le premier type de liens qui sont liens rigoureux. Le deuxième type de liens sur le système d'exploitation GNU / Linux est liens symboliques un.k.Un lien doux. La différence entre les liens durs et symboliques est que les liens symboliques ne pointent que des liens durs, c'est-à-dire qu'ils pointent vers le fichier ou les noms de répertoire existants. En résumé, les liens permettent à l'utilisateur d'accéder à des fichiers ou des répertoires via plusieurs noms.



Liens rigoureux

Depuis liens rigoureux sont associés au inodes qui sont à leur tour une fonctionnalité de système de fichier, les liens durs ne peuvent pas traverser les systèmes de fichiers, donc ne sont valides que dans le même système de fichiers. De plus, il n'est pas possible de créer des liens durs sur les répertoires. Toute tentative de création d'un lien dur à partir d'un répertoire entraînera lien dur non autorisé pour le répertoire Message d'erreur.

Créons des liens durs. Dans cet exemple, nous créerons d'abord un fichier arbitraire appelé bac à sable contenant un texte linuxconfig.org. Une fois prêt, nous créerons un multiple liens rigoureux à ce fichier pointant de différents endroits.

  1. Créer un fichier appelé bac à sable contenant un texte RHCSA Dans un répertoire domestique utilisateur ~ /.
    $ echo "rhcsa"> ~ / sandbox 

    Vérifiez le contenu du fichier en utilisant le chat commande:

    $ cat ~ / sandbox rhcsa 
  2. Toujours situé dans un répertoire domestique utilisateur, créez un lien dur vers le bac à sable dossier de / tmp / Répertoire appelé hardlink1.
    $ ln sandbox / tmp / hardlink1 

    Vérifiez maintenant le contenu du lien dur nouvellement créé / tmp / hardlink1. Le contenu du / tmp / hardlink1 et l'original bac à sable Le fichier doit être le même:

    $ cat / tmp / hardlink1 rhcsa 


  3. Vérifiez les informations du lien associées aux deux noms de fichiers bac à sable et / tmp / hardlink1.
    $ ls -l / tmp / hardlink1 -rw-rw-r--. 2 LinuxConfig LinuxConfig 6 juil. 10:20 / tmp / hardlink1 $ ls -l ~ / sandbox -rw-rw-r--. 2 LinuxConfig LinuxConfig 6 juillet 10:20 / Home / LinuxConfig / Sandbox 

    Notez le numéro associé 2 Comme le montre la sortie ci-dessus. Ce nombre indique le nombre de liens durs associés à un inode spécifique.

    NOTE
    À ce stade, il est important de comprendre qu'il n'y a pas de réelle différence entre l'original bac à sable Et le nouvellement créé / tmp / hardlink1 déposer. Ils pointent tous les deux le même inode en utilisant différents noms de fichiers.
  4. Supprimer le lien dur en utilisant déchaîner ou RM commande.
  5. $ unlink sandbox $ ls -l / tmp / hardlink1 -rw-rw-r--. 1 LinuxConfig LinuxConfig 6 juillet 10:20 / tmp / hardlink1 

    Dans ce cas, les deux RM ou déchaîner Les commandes supprimeront un lien dur mais pas les données réelles associées et inode. Depuis le bac à sable Le lien dur a été supprimé, il n'y a que 1 lien dur laissé associé à l'inode d'origine. Ensuite, nous supprimerons le dernier lien dur associé à ce fichier:

    $ rm / tmp / hardlink1 

    À ce stade, le lien vers l'inode pointant vers le contenu de notre fichier d'origine est perdu, nous considérons donc ce fichier comme supprimé. S'il n'y a pas de liens durs pointant vers un inode, le système de fichiers peut désormais écraser l'emplacement de cet inode avec une nouvelle donnée.

SAVIEZ-VOUS?
Vous pouvez supprimer n'importe quel fichier (étant donné que vous avez des autorisations appropriées) en utilisant la commande unink? Essayez-le maintenant:
Fichier de fichier $ tactile $ unink 

Si vous avez compris les commandes ci-dessus, vous avez maîtrisé les liens durs GNU / Linux comme expliqué dans ce tutoriel.

Liens symboliques

En plus des liens durs, il existe également un type de liens différents disponibles sur le système d'exploitation GNU / Linux. Liens symboliques peut traverser des systèmes de fichiers, et il est également possible de créer un lien symbolique d'un répertoire. Cependant, les liens symboliques au lieu de la réelle inode, seul lien vers un lien dur existant (nom de fichier ou répertoire). Pour cette raison, si le lien dur réel vers lequel le lien symbolique pointe est supprimé le lien symbolique.

  1. Créons d'abord des objets de sable pour jouer avec. Dans ce cas, nous créerons un répertoire appelé mydir et dans ce répertoire, nous créerons un fichier appelé mon fichier.
    $ mkdir mydir $ touch mydir / myfile 


  2. Ensuite, nous créerons un nouveau lien symbolique du répertoire existant MyDir en utilisant le LN commande avec une combinaison de -s option.
    $ ln -s ~ / mydir / tmp / symdir 

    Maintenant, nous avons créé un lien symbolique appelé syndir situé à l'intérieur du / tmp annuaire.

    $ cd / tmp / $ ls -l symdir lrwxrwxrwx. 1 LinuxConfig LinuxConfig 23 juil. 14:05 symdir -> / home / linuxconfig / mydir 

    Notez le premier caractère de la sortie ci-dessus. Dans ce cas, le personnage l indique que nous avons affaire à un lien symbolique.

    NOTE
    Lors de la création d'un lien symbolique, gardez à l'esprit que le LN Commande stocke le chemin réel fourni sous forme de chaîne. Si ce n'est pas avec le même répertoire, dans de nombreux cas, vous devez fournir une voie complète à l'ordre pour le lien symbolique pour travailler

    Le nouvellement créé syndir devrait contenir un fichier précédemment cinglé mon fichier:

    $ cd symdir $ ls myfile $ pwd / tmp / symdir 

Des exercices

  1. Jouer avec des liens symboliques. Créez un lien symbolique vers un fichier après cela supprimer le fichier d'origine et voir ce qui s'est passé avec votre lien symbolique.
  2. Que se passe-t-il lorsque vous exécutez LS commande avec un seul argument. Par exemple, exécutez la commande suivante ln -s / etc / services. Ce qui s'est passé?
  3. Déterminez si vous devez posséder le fichier afin de créer un lien symbolique. La même règle s'applique-t-elle pour les liens durs?
  4. Tutoriels Linux connexes:

    • Une introduction à l'automatisation Linux, des outils et des techniques
    • Choses à installer sur Ubuntu 20.04
    • Masterring Bash Script Loops
    • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
    • Mint 20: Mieux que Ubuntu et Microsoft Windows?
    • Boucles imbriquées dans les scripts bash
    • Comment doubler Kali Linux et Windows 10
    • À quelle fréquence devez-vous redémarrer votre serveur Linux?
    • Tutoriel de débogage GDB pour les débutants
    • Système linux hung? Comment s'échapper vers la ligne de commande et…