chdir, fchdir - Change the current directory
#include <unistd.h>
int chdir(
const char *path ); int fchdir(
int filedes );
Interfaces documented on this reference page conform to
industry standards as follows:
chdir(): XSH4.0, XSH4.2, XSH5.0
fchdir(): XSH4.2, XSH5.0
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
Points to the pathname of the directory. Specifies the
file descriptor of the directory.
The chdir() function changes the current directory to the
directory indicated by the path parameter. If the path
parameter refers to a symbolic link, the chdir() function
sets the current directory to the directory pointed to by
the symbolic link.
The fchdir() function has the same effect as chdir()
except that the new directory is specified by file
descriptor (filedes) rather than pathname.
The current directory, also called the current working
directory, is the starting point of searches for pathnames
that do not begin with a / (slash). In order for a directory
to become the current directory, the calling process
must have search access to the directory.
The current working directory is shared between all
threads within the same process. Therefore, one thread
using the chdir() or fchdir() function will affect every
other thread in that process.
Upon successful completion, the chdir() function returns a
value of 0 (zero). Otherwise, a value of -1 is returned
and errno is set to indicate the error.
If the chdir() function fails, the current directory
remains unchanged and errno may be set to one of the following
values: Search access is denied for any component
of the pathname. The path parameter points outside the
process's allocated address space. An I/O error occurred
while reading from or writing to the file system. Too
many symbolic links were encountered in translating the
pathname. The length of the path argument exceeds
PATH_MAX or a pathname component is longer than NAME_MAX.
Pathname resolution of a symbolic link produced an
intermediate result whose length exceeds PATH_MAX.
The named directory does not exist, or is an empty
string. A component of the path prefix is not a
directory.
If the fchdir() function fails, the current directory
remains unchanged and errno may be set to one of the following
values: Search access is denied for any component
of the pathname. The filedes parameter is not a valid
open file descriptor. The file descriptor does not reference
a directory.
Functions: chroot(2)
Commands: cd(1)
Others: standards(5)
chdir(2)
[ Back ] |