table of contents
- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
CHDIR(2) | Руководство программиста Linux | CHDIR(2) |
ИМЯ¶
chdir, fchdir - изменить рабочий каталог
СИНТАКСИС¶
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fd);
fchdir():
|| /* начиная с glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
|| /* в glibc до версии 2.19 включительно: */ _BSD_SOURCE
ОПИСАНИЕ¶
chdir() изменяет текущий рабочий каталог вызвавшего процесса на каталог, указанный в path.
fchdir() идентичен chdir(); разница в том, что каталог указывается в виде открытого файлового дескриптора.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
При успешном выполнении возвращается 0. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.
ОШИБКИ¶
В зависимости от файловой системы могут также возвращаться другие ошибки. Общий набор ошибок 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).
СМ. ТАКЖЕ¶
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан 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.
2 августа 2019 г. | Linux |