table of contents
other sections
RMDIR(2) | Руководство программиста Linux | RMDIR(2) |
ИМЯ¶
rmdir - удалить каталог
ОБЗОР¶
#include <unistd.h>
int rmdir(const char *pathname);
ОПИСАНИЕ¶
rmdir() удаляет каталог, который должен быть пуст.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
При успешном выполнении возвращается 0. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.
ОШИБКИ¶
- EACCES
- Нет прав на запись в каталог, содержащийся в pathname, или в одном из каталогов в pathname не разрешён поиск (см. также path_resolution(7)).
- EBUSY
- В данный момент pathname используется системой или одним из процессов, что предотвращает удаление. В Linux это означает, что pathname используется в качестве точки монтирования или является корневым каталогом вызвавшего процесса.
- EFAULT
- Аргумент pathname указывает за пределы доступного адресного пространства.
- EINVAL
- pathname содержит . в качестве последнего компонента.
- ELOOP
- Во время определения pathname встретилось слишком много символьных ссылок.
- ENAMETOOLONG
- pathname слишком длинен.
- ENOENT
- Один из каталогов в pathname не существует или является повисшей символьной ссылкой.
- ENOMEM
- Недостаточное количество памяти ядра.
- ENOTDIR
- pathname, или его компонент, используемый в качестве каталога в pathname, фактически, не является каталогом.
- ENOTEMPTY
- pathname содержит элементы, отличные от . и .. ; или последним компонентом pathname является ... POSIX.1-2001 также позволяет возвращать EEXIST в такой ситуации.
- EPERM
- На каталоге, содержащемся в pathname, установлен закрепляющий (sticky) бит (S_ISVTX) и эффективный идентификатор пользователя не совпадает с пользовательским ID файла или каталога, его содержащего, что требуется для удаления, и процесс не имеет прав (Linux: не имеет мандата CAP_FOWNER).
- EPERM
- Файловая система, содержащая pathname, не поддерживает удаление каталогов.
- EROFS
- Аргумент pathname ссылается на каталог, который находится на файловой системе, смонтированной только для чтения.
СООТВЕТСТВИЕ СТАНДАРТАМ¶
SVr4, 4.3BSD, POSIX.1-2001.
ДЕФЕКТЫ¶
Неточности в протоколе NFS могут приводить к неожиданному исчезновению каталогов, которые всё ещё используются.
СМОТРИТЕ ТАКЖЕ¶
rm(1), rmdir(1), chdir(2), chmod(2), mkdir(2), rename(2), unlink(2), unlinkat(2)
2008-05-08 | Linux |