|
| 以 PDF 格式下载本书
NAME
- chdir, fchdir - change working directory
SYNOPSIS
-
#include <unistd.h>
-
-
int chdir(const char * path);
int fchdir(int fildes);
MT-LEVEL
-
chdir( ) is Async-Signal-Safe
DESCRIPTION
-
chdir( ) and fchdir( ) cause a directory pointed to by path or fildes to become the current working directory. The starting point for path searches for path names not beginning with /. path points to the path name of a directory. The fildes argument to fchdir( ) is an open file descriptor of a directory.
- 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 zero 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 to an illegal address.
-
-
EINTR
- A signal was caught during the execution of the chdir( ) function.
-
-
EIO
- An I/O error occurred while reading from or writing to the file system.
-
-
ELOOP
- Too many symbolic links were encountered in translating path.
-
-
ENAMETOOLONG
- The length of the path argument exceeds {PATH_MAX}, or the length of a path component exceeds {NAME_MAX} while
- {_POSIX_NO_TRUNC} is in effect.
-
-
ENOENT
- Either a component of the path prefix or the directory named by path does not exist or is a null pathname.
-
-
ENOLINK
-
path points to a remote machine and the link to that machine is no longer active.
-
-
ENOTDIR
- A component of the path name is not a directory.
-
-
EMULTIHOP
- Components of path require hopping to multiple remote machines and file system type does not allow it.
-
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 fildes.
-
-
EBADF
-
fildes is not an open file descriptor.
-
-
EINTR
- A signal was caught during the execution of the fchdir( ) function.
-
-
EIO
- An I/O error occurred while reading from or writing to the file system.
-
-
ENOLINK
-
fildes points to a remote machine and the link to that machine is no longer active.
-
-
ENOTDIR
- The open file descriptor fildes does not refer to a directory.
SEE ALSO
-
chroot(2)
|
|