dirname
dirname ist ein Unix-Programm und ein Teil des POSIX-Standards. Es gibt von einem Dateipfad das Verzeichnis aus. Der Gegensatz zu dirname ist das Programm basename.
Anwendungsbeispiele
$ dirname /home/alice/bild.jpg
/home/alice
$ dirname /home/alice/
/home
Mag die Funktion des alleinstehenden Programms auf den ersten Blick zunächst trivial erscheinen, so ist es dennoch von großem Nutzen zur Erledigung von Teilaufgaben im Rahmen der Skriptprogrammierung.
Bibliotheksfunktion
POSIX enthält dirname auch als Funktion in der Programmiersprache C. In der Header-Datei libgen.h
ist diese wie folgt deklariert:
#include <libgen.h>
char *dirname(char *path);
Rückgabewert ist der Teil von path
bis vor das letzte Pfadtrennzeichen /
. Falls path
keinen Trenner /
enthält, eine leere Zeichenkette oder ein NULL
-Pointer ist, gibt die Funktion einen Punkt .
als Pfad für das aktuelle Verzeichnis zurück. Besteht der Pfad nur aus /
ist dies auch das Ergebnis der Funktion. Da dirname einen Pointer auf einen Teil von (dem möglicherweise veränderten) path
oder einen statisch belegten Speicherbereich zurückgibt, wird empfohlen, die Funktion mit einer Kopie des Pfades aufzurufen.
Weblinks
dirname
: return the directory portion of a pathname – Open Group Base Specificationdirname(1)
: return directory portion of pathname – OpenBSD General Commands Manualdirname(1)
: letzte Komponente des Dateinamens entfernen – Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseite- dirname(3) – extract the directory portion of a pathname. OpenBSD, abgerufen am 5. Dezember 2014 (englisch).
- dirname(3) – parse pathname components. Debian GNU/Linux, abgerufen am 5. Dezember 2014 (englisch).