Updated: 2022/Sep/29
Please read Privacy Policy. It's for your privacy.
CHDIR(2) System Calls Manual CHDIR(2) NAME chdir, fchdir - change current working directory LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <unistd.h> int chdir(const char *path); int fchdir(int fd); DESCRIPTION The path argument points to the pathname of a directory. The chdir() function causes the named directory to become the current working directory, that is, the starting point for path searches of pathnames not beginning with a slash, `/'. The fchdir() function causes the directory referenced by fd to become the current working directory, the starting point for path searches of pathnames not beginning with a slash, `/'. In order for a directory to become the current directory, a process must have execute (search) access to the directory. RETURN VALUES Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error. ERRORS chdir() will fail and the current working directory will be unchanged if one or more of the following are true: [EACCES] Search permission is denied for any component of the path name. [EFAULT] path points outside the process's allocated address space. [EIO] An I/O error occurred while reading from or writing to the file system. [ELOOP] Too many symbolic links were encountered in translating the pathname. [ENAMETOOLONG] A component of a pathname exceeded {NAME_MAX} characters, or an entire path name exceeded {PATH_MAX} characters. [ENOENT] The named directory does not exist. [ENOTDIR] A component of the path prefix is not a directory. fchdir() will fail and the current working directory will be unchanged if one or more of the following are true: [EACCES] Search permission is denied for the directory referenced by the file descriptor. [EBADF] The argument fd is not a valid file descriptor. [ENOTDIR] The file descriptor does not reference a directory. [EPERM] The argument fd references a directory which is not at or below the current process's root directory. SEE ALSO chroot(2), getcwd(3) STANDARDS The chdir() function conforms to IEEE Std 1003.1-1990 ("POSIX.1"). HISTORY A chdir() function call appeared in Version 1 AT&T UNIX. The fchdir() function call appeared in 4.2BSD. NetBSD 10.99 September 1, 2019 NetBSD 10.99