rmdir(2) Supprimer un répertoire

SYNOPSIS

#include <unistd.h>

int rmdir(const char *pathname);

DESCRIPTION

rmdir() supprime un répertoire, lequel doit être vide.

VALEUR RENVOYÉE

S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en conséquence.

ERREURS

EACCES
Les droits d'écriture dans le répertoire contenant pathname ne sont pas autorisés, ou bien un des répertoires de pathname ne permet pas le parcours. (Consultez aussi path_resolution(7).
EBUSY
pathname est actuellement utilisé par le système ou un processus qui empêche sa suppression. Sous Linux, cela signifie que pathname est actuellement un point de montage, ou bien est le répertoire racine du processus appelant.
EFAULT
pathname pointe en-dehors de l'espace d'adressage accessible.
EINVAL
pathname a . comme dernier composant.
ELOOP
Trop de liens symboliques ont été rencontrés en parcourant pathname.
ENAMETOOLONG
pathname est trop long.
ENOENT
Un des répertoires du chemin d'accès pathname n'existe pas ou est un lien symbolique pointant nulle part.
ENOMEM
Pas assez de mémoire pour le noyau.
ENOTDIR
pathname, ou un élément du chemin d'accès pathname n'est pas un répertoire.
ENOTEMPTY
pathname contient d'autres éléments que . et .., ou bien pathname a .. comme composant final. POSIX.1-2001 permet également EEXIST pour cette condition.
EPERM
Le répertoire contenant pathname a son sticky bit positionné (S_ISVTX), et l'UID effectif du processus n'est pas le même que celui du répertoire à supprimer, ou celui du répertoire le contenant, et le processus n'est pas privilégié (sous Linux : n'a pas la capacité CAP_FOWNER).
EPERM
Le système de fichiers contenant pathname ne permet pas la suppression de répertoires.
EROFS
pathname correspond à un répertoire situé sur un système de fichiers en lecture seule.

CONFORMITÉ

SVr4, BSD 4.3, POSIX.1-2001.

BOGUES

Des problèmes dans le protocole sous-jacent à NFS peuvent provoquer la disparition inattendue de répertoires encore utilisés.

COLOPHON

Cette page fait partie de la publication 3.65 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <[email protected]> ou par un rapport de bogue sur le paquet manpages-fr.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».