pwd (Unix)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

pwd (Abkürzung für englisch print working directory ‚zeige aktuelles Directory‘) ist ein Unix-Kommando, das den vollen Pfad jenes Directories ausgibt, welches der aufrufende Prozess momentan verwendet, sofern kein expliziter Pfad angegeben wird (sozusagen den „Standort“ im Filesystem). Dieser aufrufende Prozess kann eine interaktive Shell sein oder auch ein gerade auszuführendes Script. Das Verhalten des Befehls ist für UNIX-Systeme im POSIX-Standard festgelegt[1] und sein Vorhandensein für UNIX-Systeme vorgeschrieben.

Die Ausgabe entspricht den POSIX-konformen Systemfunktionen getcwd()[2] oder (veraltet) getwd()[3] und kann mit diesen leicht implementiert werden.

Funktionsweise[Bearbeiten | Quelltext bearbeiten]

Das Verhalten des Programms ist im POSIX-Standard standardisiert, die Definition verweist auf die XBD Utility Syntax Guidelines.[4]

Beispiel:

$ pwd
/home/foobar

Argumente und Optionen[Bearbeiten | Quelltext bearbeiten]

Durch die Angabe der Optionen -L beziehungsweise -P kann die Ausgabe des logischen respektive des physischen Pfades erzwungen werden. Der physische Pfad weicht vom logischen Pfad dann ab, wenn der logische Pfad Symlinks enthält.

Wird keine Option angegeben, so ist laut POSIX-Standard -L der Default, werden mehrere Optionen verwendet, so wird die jeweils letztgenannte wirksam.[1]

Im folgenden Beispiel ist /home ein symbolischer Link auf /mnt/home:

$ pwd
/home/foobar
$ pwd -L
/home/foobar
$ pwd -P
/mnt/home/foobar
$ ls -l /home
lrwxrwxrwx 1 root root 10 10. Dez 05:06 /home -> /mnt/home

Analoga[Bearbeiten | Quelltext bearbeiten]

Shells[Bearbeiten | Quelltext bearbeiten]

Vom der Funktion des Befehls pwd abgeleitet führen viele Shells (Kornshell, aber auch bash) eine automatisch aktualisierte Variable PWD, deren Inhalt der Ausgabe von pwd -P entspricht.

Andere Betriebssysteme[Bearbeiten | Quelltext bearbeiten]

Vergleichbare Befehle finden sich auch in anderen Betriebssystemen, etwa Windows (chdir ohne Argumente) oder OpenVMS (show default).

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. a b pwd, The Open Group Base Specifications. Issue 7, 2018 Edition.
  2. getcwd(), The Open Group Base Specifications. Issue 7, 2018 Edition.
  3. getwd(), The Open Group Base Specifications. Issue 6, 2004 Edition.
  4. The Open Group Base Specifications, 12.2 Utility Syntax Guidelines. Issue 7, 2018 Edition.