chdir(2) System Calls Manual chdir(2)

chdir, fchdir - schimbă directorul de lucru

Biblioteca C standard (libc, -lc)

#include <unistd.h>
int chdir(const char *ruta);
int fchdir(int descriptor-fișier);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

fchdir():

    _XOPEN_SOURCE >= 500
        || /* Începând cu glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
        || /* glibc până la versiunea 2.19 inclusiv: */ _BSD_SOURCE

chdir() schimbă directorul de lucru curent al procesului apelant în directorul specificat în ruta.

fchdir() este identic cu chdir(); singura diferență este că directorul este dat ca un descriptor de fișier deschis.

În caz de succes, se returnează zero. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

În funcție de sistemul de fișiere, pot fi returnate și alte erori. Cele mai generale erori pentru chdir() sunt enumerate mai jos:

Permisiunea de căutare este refuzată pentru una dintre componentele din rută; (a se vedea, de asemenea, path_resolution(7)).
ruta indică în afara spațiului de adrese accesibil.
A apărut o eroare de In/Ieș.
S-au întâlnit prea multe legături simbolice în rezolvarea rutei.
ruta este prea lungă.
Directorul specificat în rută nu există.
Nu a fost disponibilă suficientă memorie pentru nucleu.
O componentă a rutei nu este un director.

Erorile generale pentru fchdir() sunt enumerate mai jos:

A fost refuzată permisiunea de căutare în directorul deschis în descriptor-fișier.
descriptor-fișier nu este un descriptor de fișier valid.
descriptor-fișier nu se referă la un director.

POSIX.1-2008.

POSIX.1-2001, SVr4, 4.4BSD.

Directorul de lucru curent este punctul de plecare pentru interpretarea denumirilor relative ale numelor de rută (cele care nu încep cu „/”).

Un proces-copil creat prin fork(2) moștenește directorul de lucru curent al părintelui său. Directorul de lucru curent este lăsat neschimbat de execve(2).

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

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

31 octombrie 2023 Pagini de manual de Linux 6.06