chdir

Autres langues

Langue: ko

Version: 1997년 8월 21일 (fedora - 25/11/07)

Section: 2 (Appels système)

이름

chdir, fchdir - 작업 디렉토리를 바꾼다.

사용법

#include <unistd.h>

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

설명

chdir는 현재 디렉토리를 path가 지정한 곳으로 바꾼다.

fchdirchdir와 동일하며, 단지 열려진 파일 기술자가 인자로 주어진다.

반환값

성공시, 0이 리턴된다. 에러시, -1이 리턴되며, errno는 적당한 값으로 설정된다.

에러

파일 시스템에 의존적이며, 다른 에러가 리턴될 수 있다. chdir에서 발생하는 일반적인 에러는 다음과 같다:
EFAULT
path는 접근할 수 없는 메모리 영역을 가리키고 있다.
ENAMETOOLONG
path가 너무 길다.
ENOENT
파일이 존재하지 않는다.
ENOMEM
커널 메모리가 충분하지 않다.
ENOTDIR
path가 디렉토리가 아니다.
EACCES
허가가 거부되었다.
ELOOP
path를 찾아갈 때, 너무 많은 심볼릭 링크가 존재한다.
EIO
I/O 에러가 발생했다.

fchdir에서 발생하는 일반적인 에러는 다음과 같다:

EBADF
fd가 유효한 파일 기술자가 아니다.
EACCES
fd로 지정된 디렉토리를 여는데 허가가 거부되었다.

호환

chdir은 SVr4, SVID, POSIX, X/OPEN, 4.4BSD과 호환이다. SVr4문서는 EINTR, ENOLINK 그리고 EMULTIHOP 에러 상태를 추가적으로 기술하지만 ENOMEM은 언급하지 않았다. POSIX.1은 ENOMEM 또는 ELOOP 에러 상태를 포함하고 있지 않다. X/OPEN은 EFAULT, ENOMEM 또는 EIO 에러 상태를 포함하고 있지 않다.

fchdir 시스템 콜은 SVr4, 4.4BSD 그리고 X/OPEN과 호환이다. SVr4 문서는 EIO, EINTR 그리고 ENOLINK 에러 상태를 추가적으로 기술한다. X/OPEN 문서는 EINTR 그리고 EIO 에러 상태를 추가적으로 기술한다.

관련 항목

getcwd(3), chroot(2)

역자

정강훈 <skyeyes@soback.kornet.net>, 2000년 5월 1일