Manpages

NOMBRE

mkdir − crea un directorio

SINOPSIS

#include <sys/stat.h>
#include <sys/types.h>

int mkdir(const char *pathname, mode_t mode);

DESCRIPCIÓN

mkdir intenta crear un directorio de nombre pathname.

mode especifica los permisos a usar. Es modificado por la umask (máscara de usuario) del proceso de la forma habitual: los permisos del fichero creado son (mode & ~umask).

El dueño del directorio recién creado será el identificativo de usuario efectivo del proceso. Si el directorio que contiene al fichero tiene activo el bit set group id(asignaridentificadordegrupo), o el sistema de ficheros está montado con semántica de grupo BSD, el nuevo directorio heredará la pertenencia al grupo de su padre. En caso contrario, pertenecerá al grupo del identificativo de grupo efectivo del proceso.

Si el directorio padre tiene el set group id bit, entonces también lo tendrá el directorio recién creado.

VALOR DEVUELTO

mkdir devuelve cero en caso de éxito, o −1 si ocurre un error (en cuyo caso errno tomará el valor apropiado).

ERRORES

EPERM

El sistema de ficheros que contiene pathname no soporta la creación de directorios.

EEXIST

pathname ya existe (no necesariamente como directorio). Esto incluye el caso donde pathname es un enlace simbólico, colgando o no.

EFAULT

pathname apunta fuera del espacio de direcciones accesible.

EACCES

El proceso no tiene permiso de escritura sobre el directorio padre, o uno de los directorios de pathname no permite búsqueda (no tiene permiso de ejecución).

ENAMETOOLONG

pathname es demasiado largo.

ENOENT

Un elemento usado como directorio en pathname no existe o es un enlace simbólico colgado.

ENOTDIR

Un elemento usado como directorio en pathname no es en realidad un directorio.

ENOMEM

No hay suficiente memoria del núcleo.

EROFS

pathname hace referencia a un fichero de un sistema de ficheros de sólo lectura.

ELOOP

Se encontraron demasiados enlaces simbólicos al resolver pathname.

ENOSPC

El dispositivo que contiene a pathname no tiene espacio para el nuevo directorio.

ENOSPC

No puede crearse el nuevo directorio porque la cuota de disco del usuario está agotada.

CONFORME A

SVr4, POSIX, BSD, SYSV, X/OPEN. SVr4 documenta las condiciones de error adicionales EIO, EMULTIHOP y ENOLINK. POSIX.1 omite ELOOP.

Hay muchas carencias subyacentes en el protocolo NFS. Algunas de ellas afectan a mkdir.

VÉASE TAMBIÉN

mkdir(1), chmod(2), mknod(2), mount(2), rmdir(2), stat(2), umask(2), unlink(2)