- bullseye-backports 4.17.0-2~bpo11+1
- testing 4.17.0-2
- unstable 4.17.0-2
chdir(2) | System Calls Manual | chdir(2) |
ИМЯ¶
chdir, fchdir - изменить рабочий каталог
LIBRARY¶
Standard C library (libc, -lc)
СИНТАКСИС¶
#include <unistd.h>
int chdir(const char *path); int fchdir(int fd);
fchdir():
_XOPEN_SOURCE >= 500
|| /* начиная с glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
|| /* в glibc до версии 2.19 включительно: */ _BSD_SOURCE
ОПИСАНИЕ¶
chdir() изменяет текущий рабочий каталог вызвавшего процесса на каталог, указанный в path.
fchdir() идентичен chdir(); разница в том, что каталог указывается в виде открытого файлового дескриптора.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
On success, zero is returned. On error, -1 is returned, and errno is set to indicate the error.
ОШИБКИ¶
В зависимости от файловой системы могут также возвращаться другие ошибки. Общий набор ошибок chdir() перечислен ниже:
- EACCES
- В одном из каталогов префикса path не разрешён поиск (cм. также path_resolution(7)).
- EFAULT
- Аргумент path указывает за пределы доступного адресного пространства.
- EIO
- Произошла ошибка ввода-вывода.
- ELOOP
- Во время определения path встретилось слишком много символьных ссылок.
- ENAMETOOLONG
- path слишком длинен.
- ENOENT
- Каталог, указанный в path, не существует.
- ENOMEM
- Недостаточное количество памяти ядра.
- ENOTDIR
- Компонент path не является каталогом.
Наиболее распространённые ошибки fchdir():
СТАНДАРТЫ¶
POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD.
ЗАМЕЧАНИЯ¶
При работе с относительными путями (те, которые не начинаются с '/') за начало отсчёта принимается текущий рабочий каталог.
Дочерний процесс, созданный посредством fork(2), наследует текущий рабочий каталог родителя. Текущий рабочий каталог не меняется execve(2).
СМ. ТАКЖЕ¶
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
30 октября 2022 г. | Linux man-pages 6.02 |