Scroll to navigation

CHDIR(2) Linux - příručka Programátora CHDIR(2)

JMÉNO

chdir, fchdir - změna pracovního adresáře

SYNTAXE

#include <unistd.h>

int chdir(const char *path);
int fchdir(int fd);

Požaduje množinu testovacích maker pro glibc (viz feature_test_macros(7)):

fchdir(): _BSD_SOURCE || _XOPEN_SOURCE >= 500

POPIS

chdir () změní současný adresář na adresář specifikovaný v path.

fchdir () má tutéž funkci jako chdir (), pouze s tím rozdílem, že adresář je zadán jako otevřený deskriptor souboru.

NÁVRATOVÁ HODNOTA

Bylo-li volání úspěšné, je vrácena nula, jinak -1 a je nastavena proměnná errno.

CHYBY

V závislosti na druhu souborového systému mohou být vráceny i jiné chyby. Nejobvyklejší chyby pro chdir jsou vypsány zde:

Proces nemá právo na vstup do adresáře (execute permission).
path ukazuje mimo vám přístupný adresový prostor.
Objevila se vstup/výstupní chyba.
path je příliš dlouhá.
Deskriptor souboru fd není platný.
Soubor neexistuje.
Nedostatek paměti pro kernel.
Některá část cesty není adresář.
V cestě není povoleno prohledávání adresářů.
path obsahuje cyklické odkazy (např. přes symbolický odkaz)

Obvyklé chyby fchdir jsou zde:

Deskriptor je neplatný.
Prohledání adresáře specifikovaného fd bylo odmítnuto kvůli nedostatečným právům.

SPLŇUJE STANDARDY

SVr4, 4.4BSD, POSIX.1-2001.

POZNÁMKY

Aktuální pracovní adresář je výchozím bodem pro interpretaci relativních cest (začínají '/').

Synovský proces vytvořený pomocí fork(2) zdědí aktuální pracovní adresář svého rodiče. Pracovní adresář je ponechán beze změny při užití execve(2).

Prototyp pro fchdir() je dostupný pouze když je definováno _BSD_SOURCE, nebo _XOPEN_SOURCE je definováno s hodnotou 500.

VIZ TÉŽ

getcwd(3), chroot(2), path_resolution(7)

TIRÁŽ

Tato stránka je součástí projektu Linux man-pages. Popis projektu a informace o hlášení chyb najdete na http://www.kernel.org/doc/man-pages/.

25. září 2009 Linux 1.2.4