Êtes-vous un nouvel utilisateur de Linux ? Votre travail implique-t-il des scripts shell ? Si votre réponse à ces deux questions est oui, l'outil dont nous allons parler ici vous intéressera probablement. Le nom de l'outil est dirname , et il est principalement utilisé dans les situations où vous devez supprimer le dernier composant d'un nom de fichier absolu.
Dans ce tutoriel, nous discuterons des bases de dirname ainsi que de la façon dont vous pouvez l'utiliser. Mais avant cela, il convient de partager que tous les exemples/instructions mentionnés ici ont été testés sur Ubuntu 16.04 LTS.
Commande de nom de répertoire Linux
Voici la syntaxe générique de la commande dirname :
dirname [OPTION] NAME...
Voici comment la page de manuel de l'outil le décrit :
Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains
no /'s, output '.' (meaning the current directory).
Les exemples de type questions-réponses suivants vous donneront une meilleure idée de la façon dont l'outil peut être utilisé.
Q1. Comment fonctionne la commande dirname ?
L'utilisation de base de l'outil est très simple - il suffit d'écrire le nom de la commande, suivi du nom absolu d'un fichier. Dans la sortie, vous obtiendrez l'arborescence complète des répertoires, à l'exception du nom du fichier.
Voici un exemple :
Q2. Peut-il gérer plusieurs entrées ?
Oui bien sûr. Tout ce que vous avez à faire est de passer les noms de fichiers absolus les uns après les autres. L'exemple suivant devrait le rendre amplement clair :
Q3. Et si le nom du fichier est aussi son nom absolu ?
Si l'entrée est simplement un nom de fichier (pas le nom absolu, complet avec l'arborescence des répertoires), alors un point (.) est produit dans la sortie.
Si vous regardez à nouveau la description de la page de manuel de la commande (mentionnée au début), ce comportement y est clairement mentionné.
Q4. Comment remplacer la nouvelle ligne par NUL dans les lignes de sortie ?
Par défaut, les lignes en sortie sont séparées par des retours à la ligne, comme le montre clairement le Q&A 2 au dessus de. Cependant, si vous le souhaitez, vous pouvez à la place séparer les lignes de sortie par le caractère NUL. Pour cela, utilisez le -z option de ligne de commande.
Voici une capture d'écran de cette option de ligne de commande en action :
Observez que les lignes de sortie n'étaient plus séparées par une nouvelle ligne.
Conclusion
Le dirname La commande n'est peut-être pas aussi riche en fonctionnalités que certaines des autres commandes Linux, mais il ne serait pas faux de dire que c'est un outil astucieux qui peut vous faire gagner du temps lorsque vous travaillez avec des scripts shell. Tout ce dont nous avons discuté ici est à peu près tout ce que l'outil offre. En cas de doute ou de question, laissez un commentaire ci-dessous.