Arbeitsverzeichnis
# Arbeitsverzeichnis

Unter dem Arbeitsverzeichnis versteht man in der Informatik jenen Pfad in der Verzeichnisstruktur, in dem man sich gerade befindet und „arbeitet“. Meist ist das aktuelle Verzeichnis identisch mit dem Arbeitsverzeichnis, etwa auf der Shell eines Betriebssystems mit Kommandozeile bzw. Kommandozeileninterpreter, wie beispielsweise einer Unix-Shell, der Eingabeaufforderung oder der PowerShell.

## Bedeutung

Für die Arbeit in einer textbasierten Shell (CLI) ist es von Vorteil, wenn sich jede Angabe einer Datei auf das aktuelle Verzeichnis bezieht. Will man z. B. eine Textdatei mit einem Texteditor im Benutzerverzeichnis (unter Unix-artigen Systemen, beispielsweise Linux) öffnen oder erstellen, so tut man dies in einer Unix-Shell nach dem Einloggen ohne weitere Pfadangabe vor dem Dateinamen.

Die Textdatei nur Text.txt wird daraufhin im aktuellen Verzeichnis, dem Arbeitsverzeichnis, erstellt, das beim Einloggen per Voreinstellung immer das Benutzerverzeichnis unterhalb von /home ist, also /home/username. Unter Unix wird dieses Verzeichnis oft der Einfachheit halber mit ~ abgekürzt, weshalb es auch im Prompt oft so angezeigt wird. Die erstellte Datei ist also, angegeben mit absolutem Pfad, /home/username/nur Text.txt oder, relativ ausgedrückt, ./nur Text.txt (weil . immer das aktuelle Verzeichnis ist).

Das Arbeitsverzeichnis ist für jeden Prozess bzw. verschiedene Programme unterschiedlich und wird in der Regel an Kindprozesse vererbt. Wird beispielsweise unter Windows ein Programm gestartet, so wird normalerweise dessen jeweiliges Programmverzeichnis als Arbeitsverzeichnis zugewiesen. Für alle Verweise auf eine bestimmte Datei, ohne Angabe eines vollständigen Pfads, wird daher immer das Arbeitsverzeichnis als Basis angenommen. Auch bei relativen Pfadangaben dient es als Basis.

Für jedes Programm lässt sich grundsätzlich ein individuelles Arbeitsverzeichnis festlegen. Beispielsweise findet sich unter Windows diese Einstellung in jedem Dialogfenster für Programmverknüpfungen, in der Einstellung „Ausführen in“.

## Gefahren

Da das Arbeitsverzeichnis bei einigen Betriebssystemen vorne zum Standardpfad angehängt wird, besteht auch die Gefahr, dass damit statt den gewünschten globalen Dateien andere Varianten davon geladen werden könnten. Dieses Verhalten ermöglicht zwar auch das Korrigieren von Inkompatibilitäten, indem z. B. eine kompatible Version einer vom Programm nachgeladenen Datei ins Programmverzeichnis kopiert wird, das diese daraufhin statt der inkompatiblen Version des Betriebssystems verwendet, es birgt jedoch auch die Gefahr von DLL Hijacking.

