Linux Platform

dirname

Extraire le répertoire d'un chemin

fichierscheminscriptrépertoire

Syntaxe

dirname [OPTION] NOM...

Options principales

OptionDescription
-zSeparer la sortie par des caractères nuls

Exemples

Extraire le répertoire d'un chemin

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

Traiter plusieurs chemins

$ dirname /var/log/syslog /etc/nginx/nginx.conf /home/mouctar/.bashrc
/var/log
/etc/nginx
/home/mouctar

Obtenir le répertoire parent

$ dirname /home/mouctar/projets/api
/home/mouctar/projets
$ dirname /home/mouctar/projets
/home/mouctar

Utiliser dirname dans un script de déployément

$ script_dir=$(dirname "$(readlink -f "$0")")
$ echo "Le script se trouve dans : $script_dir"
Le script se trouve dans : /opt/déployément/scripts
$ source "${script_dir}/config.env"

Creer automatiquement le répertoire de destination

$ destination="/backup/2026/05/10/base.sql.gz"
$ mkdir -p "$(dirname "$destination")"
$ pg_dump mabase | gzip > "$destination"
$ ls -l "$destination"
-rw-r--r-- 1 mouctar mouctar 15360 mai 10 12:00 /backup/2026/05/10/base.sql.gz

Combiner avec basename pour manipuler des chemins

$ chemin="/var/www/html/assets/style.css"
$ echo "Repertoire : $(dirname "$chemin")"
Repertoire : /var/www/html/assets
$ echo "Fichier    : $(basename "$chemin")"
Fichier    : style.css