chdir(2) System Calls Manual chdir(2) NAZWA chdir, fchdir - zmienia katalog roboczy BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include int chdir(const char *path); int fchdir(int fd); Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)): fchdir(): _XOPEN_SOURCE >= 500 || /* Od glibc 2.12: */ _POSIX_C_SOURCE >= 200809L || /* glibc do 2.19 wlacznie: */ _BSD_SOURCE OPIS chdir zmienia biezacy katalog roboczy procesu wywolujacego na katalog podany w path. fchdir() jest identyczne jak chdir(), lecz katalog jest podawany jako deskryptor otwartego pliku. WARTOSC ZWRACANA Po pomyslnym zakonczeniu zwracane jest zero. Po bledzie zwracane jest -1 i ustawiane jest errno wskazujac blad. BLEDY Dla niektorych systemow plikow moga byc zwracane inne bledy niz opisane ponizej. Najogolniejsze bledy chdir() to: EACCES Brak praw do przeszukiwania dla jednego ze skladnikow sciezki path (zob. tez path_resolution(7)). EFAULT path wskazuje poza dostepna dla uzytkownika przestrzen adresowa. EIO Wystapil blad wejscia/wyjscia. ELOOP Podczas rozwiazywania path napotkano zbyt wiele dowiazan symbolicznych. ENAMETOOLONG path jest zbyt dlugie. ENOENT Plik podany w path nie istnieje. ENOMEM Brak pamieci jadra. ENOTDIR Skladowa sciezki path nie jest katalogiem. Ogolne bledy fchdir() to: EACCES Brak praw do przeszukiwania katalogu otwartego przez deskryptor fd. EBADF fd nie jest prawidlowym deskryptorem pliku. ENOTDIR fd nie odnosi sie do katalogu. STANDARDY POSIX.1-2008. HISTORIA POSIX.1-2001, SVr4, 4.4BSD. UWAGI Biezacy katalog roboczy jest punktem poczatkowym do interpretacji sciezek wzglednych (niezaczynajacych sie od ,,/"). Proces potomny utworzony za pomoca fork(2) dziedziczy biezacy katalog roboczy swojego procesu macierzystego. Biezacy katalog roboczy jest pozostawiany bez zmiany przez execve(2). ZOBACZ TAKZE chroot(2), getcwd(3), path_resolution(7) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Andrzej Krzysztofowicz i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. chdir(2)