.\" Hey Emacs! This file is -*- nroff -*- source. .\" .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" 1993 Michael Haardt .\" 1993,1994 Ian Jackson. .\" You may distribute it under the terms of the GNU General .\" Public Licence. It comes with NO WARRANTY. .\" .\" $Id: mkdir.2.in,v 1.6 2000/09/30 09:43:52 alexm Exp $ .\" .\" Дата последней коррекции перевода 01.01.2004 .\" Оригинальный перевод Алексея Махоткина 1999-2001 .\" .TH MKDIR 2 1994-03-29 "Linux 1.0" "Руководство программиста Linux" .SH ИМЯ mkdir \- создать каталог .SH ОБЗОР .nf .B #include .B #include .\" .B #include .sp .BI "int mkdir(const char *" pathname ", mode_t " mode ); .fi .SH ОПИСАНИЕ .B mkdir пытается создать каталог, который называется .IR pathname . .I mode задает права доступа, которые получит свежесозданный каталог. Эти права стандартным образом модифицируются с помощью .BR umask : права доступа оказываются равны .BR "(mode & ~umask)" . Свежесозданный каталог принадлежит фактическому владельцу процесса. Если на родительском каталоге установлен флаг setgid, или файловая система смонтирована с семантикой групп в стиле BSD, то новый каталог унаследует группу-владельца от своего родительского каталога; в противном случае группой-владельцем станет фактическая группа процесса. Если у родительского каталога установлен бит setgid, то он будет установлен также и у свежесозданного каталога. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" .BR mkdir возвращает ноль при успешном завершении или \-1, если произошла ошибка (в этом случае .I errno устанавливается должным образом). .SH ОШИБКИ .TP 0.8i .B EPERM Файловая система, содержащая .IR pathname , не поддерживает создание каталогов. .B EEXIST .I pathname уже существует (это не обязательно каталог). Эта ошибка также возникает, когда .I pathname является символической ссылкой, висячей или нет. .TP .B EFAULT .I pathname указывает за пределы доступного адресного пространства. .TP .B EACCES Родительский каталог не позволяет запись, или же один из каталогов, перечисленных в .IR pathname , не позволяет поиск (выполнение). .TP .B ENAMETOOLONG .I pathname слишком длинно. .TP .B ENOENT Компонент пути .I pathname не существует или является висячей символической ссылкой. .TP .B ENOTDIR Компонент пути, использованный как каталог в .IR pathname , в действительности таковым не является. .TP .B ENOMEM Ядру не хватило памяти. .TP .B EROFS Файл находится на файловой системе, смонтированной только для чтения. .TP .B ELOOP .IR pathname является зацикленной символической ссылкой, то есть при подстановке возникает ссылка на неё саму. .TP .B ENOSPC На устройстве, содержащем .IR pathname , нет места для создания новой записи в каталоге. Это может произойти также, если исчерпана квота дискового пространства пользователя. .SH СООТВЕТСТВИЕ СТАНДАРТАМ SVr4, POSIX, BSD, SYSV, X/OPEN. SVr4 документирует дополнительные коды ошибок EIO, EMULTIHOP и ENOLINK; POSIX.1 не упоминает ELOOP. .PP В протоколе, на котором работает NFS, есть множество недоработок. Некоторые из них влияют на .BR mkdir . .SH СМОТРИ ТАКЖЕ .BR mkdir (1), .BR chmod (2), .BR mount (2), .BR rmdir (2), .BR unlink (2) .SH ПЕРЕВОД Copyright (C) Alexey Mahotkin 1999-2000