pwd (Unix)
pwd (Abkürzung für englisch print working directory ‚zeige Arbeitsverzeichnis‘) ist ein Programm zur Ausgabe des Pfades innerhalb der Verzeichnisstruktur, in dem sich der aufrufende Prozess momentan befindet und damit, welches Arbeitsverzeichnis dieser verwendet. Jegliche Dateien ohne explizite Pfadangabe sind somit auf dieses Arbeitsverzeichnis referenziert (sozusagen den „aktuellen Standort“ in der Verzeichnisstruktur). Dieser aufrufende Prozess kann eine interaktive Shell aber auch ein Script oder dergleichen sein. Das Verhalten des Befehls ist für UNIX-Systeme im POSIX-Standard festgelegt[1] und sein Vorhandensein für UNIX-Systeme vorgeschrieben, ähnliche Systeme verfügen in der Regel ebenfalls über diesen Befehl.
Die Ausgabe entspricht den POSIX-konformen Systemfunktionen getcwd()
[2] oder (veraltet) getwd()
[3] und kann mit diesen leicht implementiert werden.
Funktionsweise
BearbeitenDas 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
BearbeitenDurch 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 -ld /home lrwxrwxrwx 1 root root 10 10. Dez 05:06 /home -> /mnt/home
Analoga
BearbeitenShells
BearbeitenVon 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
BearbeitenVergleichbare Befehle finden sich auch in anderen Betriebssystemen, etwa Windows (chdir
ohne Argumente) oder OpenVMS (show default
).
Weblinks
Bearbeitenpwd(1)
– Open Group Base Specificationpwd(1)
– Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseitepwd(1)
– OpenBSD General Commands Manual
Einzelnachweise
Bearbeiten- ↑ a b pwd, The Open Group Base Specifications. Issue 8, 2024 Edition.
- ↑ getcwd(), The Open Group Base Specifications. Issue 8, 2024 Edition.
- ↑ getwd(), The Open Group Base Specifications. Issue 6, 2004 Edition.
- ↑ The Open Group Base Specifications, 12.2 Utility Syntax Guidelines. Issue 7, 2018 Edition.