Linux Platform

basename

Extraire le nom de fichier d'un chemin

fichierscheminscripttexte

Syntaxe

basename NOM [SUFFIXE]
basename OPTION... NOM...

Options principales

OptionDescription
-aTraiter plusieurs arguments en entrée
-s SUFFIXERetirer le suffixe spécifié
-zSeparer la sortie par des caractères nuls

Exemples

Extraire le nom de fichier d'un chemin

$ basename /home/mouctar/documents/rapport.pdf
rapport.pdf

Retirer l'extension d'un fichier

$ basename /home/mouctar/scripts/deploy.sh .sh
deploy

Retirer un suffixe spécifique

$ basename -s .tar.gz archive-2026-05-10.tar.gz
archive-2026-05-10

Traiter plusieurs chemins a la fois

$ basename -a /var/log/syslog /var/log/auth.log /var/log/kern.log
syslog
auth.log
kern.log

Utiliser basename dans un script de sauvegarde

$ for fichier in /etc/nginx/sites-available/*; do
>   nom=$(basename "$fichier")
>   cp "$fichier" "/backup/nginx/${nom}.bak"
>   echo "Sauvegarde de $nom effectuee"
> done
Sauvegarde de default effectuee
Sauvegarde de monsite effectuee

Combiner avec d'autres commandes

$ find /var/log -name "*.log" -exec basename {} .log \;
syslog
auth
kern
dpkg