Man Linux: Main Page and Category List

NAME

       chdir - change working directory

SYNOPSIS

       #include <unistd.h>

       int chdir(const char *path);

DESCRIPTION

       The  chdir()  function  shall cause the directory named by the pathname
       pointed  to  by  the  path  argument  to  become  the  current  working
       directory;  that is, the starting point for path searches for pathnames
       not beginning with ’/’ .

RETURN VALUE

       Upon successful completion, 0 shall be returned. Otherwise, -1 shall be
       returned,  the  current  working  directory shall remain unchanged, and
       errno shall be set to indicate the error.

ERRORS

       The chdir() function shall fail if:

       EACCES Search permission is denied for any component of the pathname.

       ELOOP  A loop exists in symbolic links encountered during resolution of
              the path argument.

       ENAMETOOLONG
              The length of the path argument exceeds {PATH_MAX} or a pathname
              component is longer than {NAME_MAX}.

       ENOENT A component of path does not name an existing directory or  path
              is an empty string.

       ENOTDIR
              A component of the pathname is not a directory.

       The chdir() function may fail if:

       ELOOP  More  than  {SYMLOOP_MAX} symbolic links were encountered during
              resolution of the path argument.

       ENAMETOOLONG
              As a result of encountering a symbolic link in resolution of the
              path  argument,  the  length  of the substituted pathname string
              exceeded {PATH_MAX}.

       The following sections are informative.

EXAMPLES

   Changing the Current Working Directory
       The following example makes the value pointed to  by  directory,  /tmp,
       the current working directory.

              #include <unistd.h>
              ...
              char *directory = "/tmp";
              int ret;

              ret = chdir (directory);

APPLICATION USAGE

       None.

RATIONALE

       The  chdir() function only affects the working directory of the current
       process.

FUTURE DIRECTIONS

       None.

SEE ALSO

       getcwd()  ,  the  Base  Definitions  volume  of   IEEE Std 1003.1-2001,
       <unistd.h>

COPYRIGHT

       Portions  of  this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       --  Portable  Operating  System  Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003  by  the  Institute  of
       Electrical  and  Electronics  Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained  online
       at http://www.opengroup.org/unix/online.html .