DOKK / manpages / debian 10 / manpages-es / chdir.2.es
CHDIR(2) Manual del Programador de Linux CHDIR(2)

chdir, fchdir - cambia el directorio de trabajo

#include <unistd.h>

int chdir(const char *path);
int fchdir(int fd);

chdir cambia el directorio presente a aquel especificado en path.

fchdir es lo mismo que chdir, solo que el directorio está dado como un descriptor de fichero abierto.

En caso de éxito, cero. Si hay algún error, -1, y se asigna a errno un valor apropiado.

Depediendo del sistema de ficheros, se pueden devolver otros errores. Los errores más comunes se listan a continuación:

path apunta fuera de su espacio de direcciones accesible.
path es demasiado largo.
El fichero no existe.
No hay suficiente memoria disponible en el núcleo.
Un componente del camino path no es un directorio.
Ha sido denegado el permiso de búsqueda en uno de los componentes del camino path.
Se han encontrado demasiados enlaces simbólicos al resolver path.
Ha ocurrido un error de E/S.

Los errores más comunes para fchdir se muestran a continuación:

fd no es un descriptor válido de fichero.
Se ha denegado el permiso de búsqueda sobre el directorio abierto en fd.

El prototipo para fchdir está disponible solamente si _BSD_SOURCE está definida (bien explícitamente, o explícitamente, al no definir _POSIX_SOURCE o compilando con la opción -ansi).

La llamada chdir es compatible con SVr4, SVID, POSIX, X/OPEN, 4.4BSD. SVr4 documenta las condiciones de error adicionales EINTR, ENOLINK y EMULTIHOP pero no tiene ENOMEM. POSIX.1 no tiene las condiciones de error ENOMEM o ELOOP. X/OPEN no tiene las condiciones de error EFAULT, ENOMEM ni EIO. La llamada fchdir es compatible con SVr4, 4.4BSD y X/OPEN. SVr4 documenta las condiciones de error adicionales EIO, EINTR y ENOLINK. X/OPEN documenta las condiciones de error adicionales EINTR y EIO.

getcwd(3), chroot(2)

21 agosto 1997 Linux 2.0.30