GNU/Linux >> Tutoriels Linux >  >> Linux

Tutoriel Linux readlink et realpath Command pour les débutants (avec exemples)

Nous avons déjà parlé de la commande ln, qui permet de créer des liens entre fichiers. Mais il existe aussi des outils qui permettent de résoudre ces liens.

Dans ce tutoriel, nous aborderons les bases de realpath et lirelien commandes qui sont similaires (sinon identiques) dans le sens où elles affichent des liens symboliques résolus en sortie. Mais avant cela, il convient de mentionner que tous les exemples ici ont été testés sur Ubuntu 18.04 LTS et sur Debian 10.

Comme déjà mentionné au début, les commandes realpath et readlink affichent le chemin résolu pour les liens symboliques dans la sortie.

Voici leur syntaxe :

realpath [OPTION]... FILE...
readlink [OPTION]... FILE...

Et voici ce que disent leurs pages de manuel respectives :

Print the resolved absolute file name
print resolved symbolic links or canonical file names

Voici quelques exemples sous forme de questions-réponses qui devraient vous donner une meilleure idée du fonctionnement de ces outils.

Simple, il suffit de fournir le fichier ou le chemin en entrée. L'exemple suivant montre ces deux commandes résolvant un lien symbolique.

Et voici comment ils fonctionnent avec les chemins :

Ainsi, vous pouvez voir les deux commandes résoudre avec succès les liens symboliques dans les deux cas.

Q2. Comment imprimer le chemin résolu relatif à un répertoire ?

La commande realpath vous permet de le faire facilement. Par exemple, supposons que c'est ce que vous essayez de faire :

realpath /var/local/Downloadslink

Cependant, une exigence supplémentaire est d'avoir la sortie de cette commande relative au répertoire /home/himanshu. Ensuite, voici la commande que vous devez exécuter :

realpath /var/local/Downloadslink --relative-to=/home/himanshu

Voici le résultat :

Downloads

Vous pouvez donc voir que l'option '--relative-to' vous permettait d'avoir une sortie relative au répertoire /home/himanshu.

Q3. Comment se débarrasser de .. dans les chemins ?

Il peut y avoir des moments où l'expansion/résolution des liens symboliques n'est pas le but, mais se débarrasser de .. dans le chemin l'est. La commande realpath vous permet de le faire.

Tout ce que vous avez à faire est d'utiliser l'option de ligne de commande -s. Voici un exemple :

realpath -s ../../var/local/Downloadslink

Et voici le résultat de cette commande :

/var/local/Downloadslink

Q4. Comment changer le caractère de délimitation ?

Par défaut, la nouvelle ligne est utilisée comme caractère de délimitation. Cependant, les deux commandes fournissent un moyen d'avoir NUL comme délimiteur à la place.

L'option que vous devez utiliser dans les deux cas est -z.

realpath -z [FILE/PATH]
readlink -z [FILE/PATH]

Conclusion

Ce dont nous avons discuté ici ne sont qu'une poignée d'options/fonctionnalités fournies par ces commandes. Une fois que vous avez fini de les pratiquer, rendez-vous sur les pages de manuel readlink et realpath (ici et ici) pour en savoir plus sur ces outils.


Linux
  1. Linux expand Tutoriel de commande pour les débutants (avec exemples)

  2. Tutoriel de commande de facteur Linux pour les débutants (avec exemples)

  3. Tutoriel de commande Linux nproc pour les débutants (avec exemples)

  4. Tutoriel de commande Linux sleep pour débutants (avec exemples)

  5. Tutoriel de commande de nom de base Linux pour les débutants (avec exemples)

Tutoriel de commande de test Linux pour les débutants (avec exemples)

Tutoriel de commande Linux sha1sum pour les débutants (avec exemples)

Tutoriel de commande Linux look pour les débutants (avec exemples)

Tutoriel de commande Linux lsattr pour les débutants (avec exemples)

Tutoriel de commande Linux tload pour les débutants (avec exemples)

Tutoriel de commande Linux tr pour les débutants (avec exemples)