> Linux Reviews > man >

chdir


  1. chdir.2.man


1. chdir.2.man

Manpage of CHDIR

CHDIR

Section: Руководство программиста Linux (2)
Updated: 2010-09-20
Index Return to Main Contents
 

ИМЯ

chdir, fchdir - изменить рабочий каталог  

ОБЗОР

#include <unistd.h>

int chdir(const char *path);
int fchdir(int fd);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

fchdir():

Начиная с glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE &&_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE >= 200809L
До glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500 _XOPEN_SOURCE &&_XOPEN_SOURCE_EXTENDED
 

ОПИСАНИЕ

chdir() изменяет текущий рабочий каталог вызвавшего процесса на каталог, указанный в path.

fchdir() идентичен chdir(); разница в том, что каталог указывается в виде открытого файлового дескриптора.  

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении возвращается 0. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.  

ОШИБКИ

В зависимости от файловой системы могут быть возвращены другие ошибки. Наиболее распространённые ошибки chdir():
EACCES
В одном из каталогов префикса path не разрешён поиск (cм. также path_resolution(7)).
EFAULT
Аргумент path указывает за пределы доступного адресного пространства.
EIO
Произошла ошибка ввода-вывода.
ELOOP
Во время определения path встретилось слишком много символьных ссылок.
ENAMETOOLONG
path слишком длинен.
ENOENT
Файл не существует.
ENOMEM
Недостаточное количество памяти ядра.
ENOTDIR
Компонент path не является каталогом.

Наиболее распространённые ошибки fchdir():

EACCES
Запрещён поиск в каталоге, на который указывает fd.
EBADF
fd не является правильным файловым дескриптором.
 

СООТВЕТСТВИЕ СТАНДАРТАМ

SVr4, 4.4BSD, POSIX.1-2001.  

ЗАМЕЧАНИЯ

При работе с относительными путями (те, которые не начинаются с aq/aq) за начало отсчёта принимается текущий рабочий каталог.

Дочерний процесс, созданный посредством fork(2), наследует текущий рабочий каталог родителя. Текущий рабочий каталог не меняется execve(2).

Прототип fchdir() доступен только если определён макрос _BSD_SOURCE или значение _XOPEN_SOURCE равно 500.  

СМОТРИТЕ ТАКЖЕ

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


 

Index

ИМЯ
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
СООТВЕТСТВИЕ СТАНДАРТАМ
ЗАМЕЧАНИЯ
СМОТРИТЕ ТАКЖЕ

This document was created by man2html using the manual pages.
Time: 17:41:11 GMT, October 23, 2013

SVENSKA - cs - SVENSKA - SVENSKA - SVENSKA - ja - nl - pl