Linux Commandes. · 3 min read · Sep 17, 2025

Tutoriel sur la commande basename de Linux pour les débutants (avec des exemples)

Parfois, lors de l’utilisation de la ligne de commande (surtout lors de la manipulation de scripts shell), vous pourriez être intéressé uniquement par le nom de fichier, mais ce qui est à votre disposition est le chemin complet du fichier. Ainsi, le besoin est de supprimer le composant de répertoire du chemin.

La commande basename sous Linux est un utilitaire utilisé pour extraire le nom de base d’un fichier ou d’un chemin de répertoire, en supprimant efficacement tous les composants de répertoire précédents et les suffixes optionnels. Lorsqu’on lui fournit un chemin complet, basename renvoie uniquement le nom du fichier ou le dernier segment du chemin, ce qui le rend utile dans les tâches de script et de manipulation de fichiers. Par exemple, étant donné le chemin /home/user/document.txt, basename renverrait document.txt. De plus, les utilisateurs peuvent spécifier un suffixe à supprimer, tel que .txt, ne laissant que document. Cette commande simplifie la gestion des noms de fichiers et des chemins dans les scripts, améliorant l’automatisation et rationalisant divers processus de gestion de fichiers.

Ce tutoriel expliquera les bases de ‘basename’ à l’aide d’exemples faciles à comprendre. Mais avant de plonger là-dedans, il convient de mentionner que tous les exemples ici ont été testés sur une machine Ubuntu 24.04 LTS.

Commande basename de Linux expliquée

La commande basename vous permet de supprimer des composants des noms de fichiers qui ne sont pas nécessaires. Voici la syntaxe de l’outil :

basename NAME [SUFFIX]  
basename OPTION... NAME...

Et voici ce que dit la page man à ce sujet :

basename - strip directory and suffix from filenames  

Print NAME with any leading directory components removed. If specified, also remove a trailing   
SUFFIX.

Voici quelques exemples sous forme de questions-réponses qui devraient vous donner une bonne idée de la façon dont fonctionne la commande basename.

Q1. Comment fonctionne la commande basename ?

Par défaut, si vous exécutez la commande ‘basename’ avec un chemin complet vers un fichier comme entrée, la commande renvoie le nom du fichier en sortie. Par exemple, lorsque j’ai exécuté la commande suivante :

basename /home/himanshu/Downloads/analytics.pdf

J’ai obtenu la sortie suivante :

analytics.pdf

Q2. Basename peut-il gérer plusieurs entrées ?

Oui, il le peut. Mais pour que cela se produise, vous devez utiliser l’option de ligne de commande -a. Par exemple, lorsque j’ai exécuté la commande suivante :

basename -a /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png

Et voici la sortie que j’ai obtenue :

analytics.pdf  
test.png

Q3. Comment faire en sorte que basename supprime également l’extension de fichier ?

Parfois, vous pourriez vouloir récupérer uniquement le nom de fichier mais pas son extension. Cela peut être fait en utilisant l’option de ligne de commande -s (qui nécessite que vous passiez le suffixe en entrée).

Par exemple, la commande suivante :

basename -s .pdf /home/himanshu/Downloads/analytics.pdf

produit cette sortie :

analytics

Q4. Comment faire en sorte que chaque ligne de sortie se termine par NUL ?

Par défaut, le caractère de nouvelle ligne est utilisé comme séparateur dans la sortie. Cependant, vous pouvez forcer basename à utiliser NUL comme séparateur si vous le souhaitez. Cela peut être fait en utilisant l’option de ligne de commande -z.

Par exemple :

basename -az /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png

Et voici la sortie :

analytics.pdftest.png

Donc, vous ne voyez pas le caractère NUL ici. Vous devez rediriger la sortie vers un fichier, puis ouvrir le fichier dans un éditeur comme vim. Voici ce que vim a montré :

Conclusion

Comme vous pouvez le voir, basename n’est pas une commande très riche en fonctionnalités - ses options sont limitées, et la plupart de celles-ci ont été discutées ici dans ce tutoriel. Une fois que vous avez terminé de pratiquer ces commandes, rendez-vous sur la page man de l’outil pour en savoir plus à son sujet.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.