Scroll to navigation

chdir(2) System Calls Manual chdir(2)

NAZWA

chdir, fchdir - zmienia katalog roboczy

BIBLIOTEKA

Standardowa biblioteka C (libc, -lc)

SKŁADNIA

#include <unistd.h>
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 włącznie: */ _BSD_SOURCE

OPIS

chdir zmienia bieżący katalog roboczy procesu wywołującego na katalog podany w path.

fchdir() jest identyczne jak chdir(), lecz katalog jest podawany jako deskryptor otwartego pliku.

WARTOŚĆ ZWRACANA

Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1 i ustawiane errno, wskazując błąd.

BŁĘDY

Dla niektórych systemów plików mogą być zwracane inne błędy niż opisane poniżej. Najogólniejsze błędy chdir() to:

Brak praw do przeszukiwania dla jednego ze składników ścieżki path (zob. też path_resolution(7)).
path wskazuje poza dostępną dla użytkownika przestrzeń adresową.
Wystąpił błąd wejścia/wyjścia.
Podczas rozwiązywania path napotkano zbyt wiele dowiązań symbolicznych.
path jest zbyt długie.
Plik podany w path nie istnieje.
Brak pamięci jądra.
Składowa ścieżki path nie jest katalogiem.

Ogólne błędy fchdir() to:

Brak praw do przeszukiwania katalogu otwartego przez deskryptor fd.
fd nie jest prawidłowym deskryptorem pliku.
fd nie odnosi się do katalogu.

STANDARDY

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

UWAGI

Bieżący katalog roboczy jest punktem początkowym do interpretacji ścieżek względnych (niezaczynających się od „/”).

Proces potomny utworzony za pomocą fork(2) dziedziczy bieżący katalog roboczy swojego procesu macierzystego. Bieżący katalog roboczy jest pozostawiany bez zmiany przez execve(2).

ZOBACZ TAKŻE

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

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

5 lutego 2023 r. Linux man-pages 6.03