| CHDIR(2) | System Calls Manual | CHDIR(2) |
chdir, fchdir
— change current working directory
Standard C Library (libc, -lc)
#include
<unistd.h>
int
chdir(const
char *path);
int
fchdir(int
fd);
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.
Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.
chdir() will fail and the current working
directory will be unchanged if one or more of the following are true:
EACCES]EFAULT]EIO]ELOOP]ENAMETOOLONG]NAME_MAX}
characters, or an entire path name exceeded
{PATH_MAX} characters.ENOENT]ENOTDIR]fchdir() will fail and the current working
directory will be unchanged if one or more of the following are true:
EACCES]EBADF]ENOTDIR]EPERM]The chdir() function conforms to
IEEE Std 1003.1-1990 (“POSIX.1”).
A chdir() function call appeared in
Version 1 AT&T UNIX. The
fchdir() function call appeared in
4.2BSD.
| September 1, 2019 | NetBSD 11.0 |