Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

chdir - aktuelles Dateiverzeichnis wechseln

&pagelevel(4)&pagelevel

Definition

#include <unistd.h>

int chdir(const char *path);

Beschreibung

chdir() macht das Verzeichnis, auf das path verweist, zum aktuellen Dateiverzeichnis. Dies ist der Startpunkt für Pfadsuchen nach Pfadnamen, die nicht mit / beginnen.

path zeigt auf den Pfadnamen eines Verzeichnisses.

Returnwert

0

bei Erfolg. Das angegebene Verzeichnis ist nun das aktuelle Arbeitsverzeichnis.

 

-1

bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

chdir() schlägt fehl, wenn gilt:


EACCES

Für eine Komponente des Pfadnamens gibt es kein Durchsuchrecht


Erweiterung


EFAULT

path ist eine ungültige Adresse.


EINTR

Ein Signal wurde während des Systemaufrufs chdir() abgefangen.


EIO

Während des Lesens im oder Schreibens in das Dateisystem trat ein Ein- oder Ausgabefehler auf.

 

ELOOP

Während der Übersetzung von path waren zu viele symbolische Verweise vorhanden. (Ende)


ENAMETOOLONG



Die Länge von path ist größer als {PATH_MAX}, oder die Länge einer Komponente von path ist größer als {NAME_MAX}, während {POSIX_NO_TRUNC} aktiv ist.


ENOENT

Eine Komponente von path existiert nicht oder ist ein leerer Pfadname.


ENOTDIR

Eine Komponente des Pfadnamens ist kein Dateiverzeichnis.

Hinweise

Die Änderung des aktuellen Dateiverzeichnisses wirkt für die Dauer des aktuellen Programmes (bzw. der aktuellen Shell). Wird ein Programm oder eine Shell neu gestartet, dann ist wieder das Home-Verzeichnis als aktuelles Dateiverzeichnis eingestellt.

Um ein Verzeichnis zum aktuellen Dateiverzeichnis zu machen, muss ein Prozess Ausführrechte (Suchen) für das Verzeichnis haben.

chdir() wirkt nur in dem jeweils aktiven Prozess und nur bis zur Beendigung des aktiven Programms.

chdir() wird nur für POSIX-Dateien ausgeführt.

Siehe auch

chroot(), fchdir(), getcwd(), unistd.h.