Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       unlink  -  löscht  einen  Namen  und unter Umständen die Datei, auf die
       dieser verweist

       Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen  Sie
       die englischsprachige Handbuchseite zu Rate, indem Sie

              man -LC 2 unlink

       eingeben.

ÜBERSICHT

       #include <unistd.h>

       int unlink(const char *Pfadname);

BESCHREIBUNG

       unlink  löscht  einen  Namen  aus dem Dateisystem. Wenn dieser Name der
       letzte Verweis auf eine Datei war und kein Prozess die  Datei  geöffnet
       hält,  wird sie gelöscht und der von ihr belegte Speicherplatz wird für
       die weitere Benutzung verfügbar gemacht.

       Falls dieser Name der letzte Link auf die Datei war und keine  Prozesse
       die Datei geöffnet haben, dann ist die Datei gelöscht und der benötigte
       Speicherplatz wieder freigegeben.

       Falls der Name der letzte Link auf  die  Datei  war,  aber  immer  noch
       Prozesse  die  Datei  geöffnet haben, bleibt die Datei bestehen bis die
       letzte Dateikennzahl, die sich auf die Datei bezieht, geschlossen ist.

       Falls der Name auf einen symbolischen Link verwies, so ist dieser  Link
       entfernt.

       Falls  der  Name  auf einen Socket, Fifo oder Gerät verwies, so ist der
       Name für dieses entfernt, aber Prozesse,  die  dieses  Objekt  geöffnet
       haben, können es weiterhin benutzen.

RÜCKGABEWERT

       Bei  Erfolg  wird  Null  zurückgegeben.  Bei  einem Fehler -1 und errno
       entsprechend gesetzt.

FEHLER

       EACCES Schreibzugriff auf das Verzeichnis, das  Pfadname  enthält,  ist
              für  die  aktuell  gültige uid des Prozesses nicht erlaubt, oder
              eines  der  Verzeichnisse  in  Pfadname  erlaubt  keinen   Such-
              (Ausführ-) zugriff.

       EPERM oder EACCES
              Das  Verzeichnis,  welches  Pfadname enthält, hat das sticky-bit
              (S_ISVTX) gesetzt und die aktuell gültige uid des Prozesses  ist
              weder  die  uid  der  zu  löschenden  Datei  noch  die  uid  des
              Verzeichnisses, das die Datei enthält

       EPERM(nur Linux)
              Die Datei Pfadname ist ein Verzeichnis.

       EFAULT Pfadname liegt außerhalb Ihres erreichbaren Adressraumes.

       ENAMETOOLONG
              Pfadname ist zu lang.

       ENOENT Ein Teil aus den Verzeichnissen in Pfadname existiert nicht oder
              ist ein schlackernder symbolischer Link.

       ENOTDIR
              Ein Teil in Pfadname , welcher als Verzeichnis benutzt wird, ist
              kein Verzeichnis.

       EISDIR Pfadname verweist auf ein Verzeichnis.

       ENOMEM Es ist nicht ausreichend freier Kernel-Speicher verfügbar.

       EROFS  Pfadname  verweist   auf   ein   Verzeichnis   eines   Nur-Lese-
              Dateisystems.

       ELOOP  Bei  der  Übersetzung  von  Pfadname treten zu viele symbolische
              Links auf

       EIO    Ein E/A Fehler ist aufgetreten.

KONFORM ZU

       SVr4, SVID, POSIX, X/OPEN, 4.3BSD. Zusätzliche Fehlerzustände bei  SVr4
       Dokumenten EBUSY, EINTR, EMULTIHOP, ETXTBUSY, ENOLINK.

BUGS

       Unglücke  in  dem  NFS  unterliegenden  Protokoll  kann das unerwartete
       Verschwinden von Dateien, welche noch benötigt werden, verursachen.

SIEHE AUCH

       link(2), rename(2), open(2), rmdir(2), mknod(2), mkfifo(3),  remove(3),
       rm(1).