chdir(2)

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

KNIHOVNA
Standardní knihovna C (libc, -lc)

POUŽITÍ
#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():
    _XOPEN_SOURCE >= 500
        || /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
        || /* glibc up to and including 2.19: */ _BSD_SOURCE

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É HODNOTY
V případě úspěchu je vrácena 0. V případě chyby je vrácena 1 a errno je nastaven aby indikoval chybu.

CHYBOVÉ STAVY
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:

EACCES
    Search permission is denied for one of the components of path. (See also path_resolution(7).)

EFAULT
    path ukazuje mimo vám dostupný adresní prostor.

EIO Objevila se vstup/výstupní chyba.

ELOOP
    path obsahuje cyklické odkazy (např. přes symbolický odkaz)

ENAMETOOLONG
    path je příliš dlouhá.

ENOENT
    The directory specified in path does not exist.

ENOMEM
    K dispozici byla nedostatečná jaderná paměť.

ENOTDIR
    Některá část cesty není adresář.

Obvyklé chyby fchdir jsou zde:

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

EBADF
    fd není platný popis souboru.

ENOTDIR
    fd does not refer to a directory.

STANDARDY
POSIX.1-2024.

HISTORIE

chdir()
    SVr4, POSIX.1-1988, 4.4BSD.

fchdir()
    SVr4, 4.4BSD, SUSv1, POSIX.1-2001 XSI, POSIX.1-2008.

POZNÁMKY
The current working directory is the starting point for interpreting relative pathnames (those not starting with '/').

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).

DALŠÍ INFORMACE
chroot(2), getcwd(3), path_resolution(7)

PŘEKLAD
Překlad této příručky do češtiny vytvořili Pavel Heimlich <tropikhajma@gmail.com>

Tento překlad je bezplatná dokumentace; Přečtěte si GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) nebo novější ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST.

Pokud narazíte na nějaké chyby v překladu této příručky, pošlete e-mail na adresu translation-team-cs@lists.sourceforge.net.