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(asignar
identificadorde
grupo),
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.
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)