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

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

#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

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.

On success, zero is returned. On error, -1 is returned, and errno is set to indicate the error.

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 přístupný adresový 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
Nedostatek paměti pro kernel.
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
Deskriptor souboru fd není platný.
ENOTDIR
fd does not refer to a directory.

POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD.

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

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

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

Překlad této příručky do španělš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 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.

22. března 2021 Linux