Rechercher une page de manuel
mkdir
Langue: ru
Version: 1994-03-29 (fedora - 25/11/07)
Section: 2 (Appels système)
ИМЯ
mkdir - создать каталогОБЗОР
#include <sys/stat.h> #include <sys/types.h> int mkdir(const char *pathname, mode_t mode);
ОПИСАНИЕ
mkdir пытается создать каталог, который называется pathname.mode задает права доступа, которые получит свежесозданный каталог. Эти права стандартным образом модифицируются с помощью umask: права доступа оказываются равны (mode & ~umask).
Свежесозданный каталог принадлежит фактическому владельцу процесса. Если на родительском каталоге установлен флаг setgid, или файловая система смонтирована с семантикой групп в стиле BSD, то новый каталог унаследует группу-владельца от своего родительского каталога; в противном случае группой-владельцем станет фактическая группа процесса.
Если у родительского каталога установлен бит setgid, то он будет установлен также и у свежесозданного каталога.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
mkdir возвращает ноль при успешном завершении или -1, если произошла ошибка (в этом случае errno устанавливается должным образом).ОШИБКИ
- EPERM
- Файловая система, содержащая pathname, не поддерживает создание каталогов. EEXIST pathname уже существует (это не обязательно каталог). Эта ошибка также возникает, когда pathname является символической ссылкой, висячей или нет.
- EFAULT
- pathname указывает за пределы доступного адресного пространства.
- EACCES
- Родительский каталог не позволяет запись, или же один из каталогов, перечисленных в pathname, не позволяет поиск (выполнение).
- ENAMETOOLONG
- pathname слишком длинно.
- ENOENT
- Компонент пути pathname не существует или является висячей символической ссылкой.
- ENOTDIR
- Компонент пути, использованный как каталог в pathname, в действительности таковым не является.
- ENOMEM
- Ядру не хватило памяти.
- EROFS
- Файл находится на файловой системе, смонтированной только для чтения.
- ELOOP
- pathname является зацикленной символической ссылкой, то есть при подстановке возникает ссылка на неё саму.
- ENOSPC
- На устройстве, содержащем pathname, нет места для создания новой записи в каталоге. Это может произойти также, если исчерпана квота дискового пространства пользователя.
СООТВЕТСТВИЕ СТАНДАРТАМ
SVr4, POSIX, BSD, SYSV, X/OPEN. SVr4 документирует дополнительные коды ошибок EIO, EMULTIHOP и ENOLINK; POSIX.1 не упоминает ELOOP.В протоколе, на котором работает NFS, есть множество недоработок. Некоторые из них влияют на mkdir.
СМОТРИ ТАКЖЕ
mkdir(1), chmod(2), mount(2), rmdir(2), unlink(2)ПЕРЕВОД
Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 1999-2000Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre