Provided by: manpages-nl-dev_4.15.0-9_all bug

NAAM

       unlink, unlinkat - verwijder een naam en mogelijk het bestand waarnaar het wijst

SAMENVATTING

       #include <unistd.h>

       int unlink(const char *padnaam);

       #include <fcntl.h>           /* Definitie van AT_* constanten */
       #include <unistd.h>

       int unlinkat(int mapbi, const char *padnaam, int vlaggen);

   Feature Test Macro´s eisen in  glibc (zie feature_test_macros(7)):

       unlinkat():
           Vanaf glibc 2.10:
               _POSIX_C_SOURCE >= 200809L
           Voor glibc 2.10:
               _ATFILE_SOURCE

BESCHRIJVING

       unlink()  verwijderd  een  naam uit een bestandssysteem. Als die naam de laatste koppeling
       was van een bestand en geen enkel proces heeft het bestand open,  dan  wordt  het  bestand
       verwijderd en de ruimte die het innam wordt vrijgemaakt om hergebruikt te worden.

       Als  de  naam de laatste koppeling was naar het bestand maar er zijn nog processen die het
       bestand nog steeds open hebben, dan zal het bestand  blijven  bestaan  totdat  de  laatste
       bestandindicator die ernaar verwijst gesloten is.

       Als de naam wijst naar een symbolische koppeling dan wordt die koppeling verwijderd.

       Als  de  naam  wijst  naar een `socket', een fifo of een apparaat dan wordt de naam ervoor
       verwijderd maar processen die het voorwerp open hebben mogen het blijven gebruiken.

   unlinkat()
       De unlinkat() systeem aanroep werkt op exact dezelfde manier zoals unlink()   of  rmdir(2)
       (afhankelijk  van  of  de  flags  wel  of niet de AT_REMOVEDIR vlag bevat) behalve voor de
       verschillen zoals hier beschreven.

       Als de padnaam gegeven in padnaam is relatief, dan wordt deze geïnterpreteerd relatief aan
       de  map  zoals gerefereerd door de bestands beschrijving dirfd (liever dan relatief aan de
       huidige werkmap van het aanroepende proces, zoals gedaan door unlink()  en  rmdir(2)  voor
       een relatieve padnaam).

       Als de padnaam gegeven in padnaam relatief is en dirfd is de speciale waarde AT_FDCWD, dan
       zal padnaam geïnterpreteerd worden relatief aan de huidige werk map  van  het  aanroepende
       proces (zoals unlink() en rmdir(2).

       Als de padnaam opgegeven in padnaam absoluut is, dan wordt mapbi genegeerd.

       vlaggen  is  een  bit  masker  dat  ofwel gespecificeerd worden als 0, of door de logische
       OF-bewerking op de waarden van de vlag die de operatie  van  unlinkat()  bepalen.  Op  dit
       moment is alleen een zo´n vlag gedefinieerd:

       AT_REMOVEDIR
              Standaard  zal  unlinkat() het equivalent van unlink() op padnaam uitvoeren. Indien
              de AT_REMOVEDIR vlag werd gezet dan werkt het equivalent van rmdir(2) op padnaam.

       Zie openat(2) voor een uitleg over het gebruik van unlinkat().

EIND WAARDE

       Bij succes wordt nul  teruggegeven.  Bij  falen  wordt  -1  teruggegeven  en  wordt  errno
       overeenkomstig gezet.

FOUTEN

       EACCES Schrijf toegang in de map die padnaam bevat wordt niet toegestaan voor het geldende
              uid van het  proces,  of  een  van  de  mappen  in  padnaam  liet  zoek  (voer-uit)
              toestemming niet toe. (Zie ook path_resolution(7).)

       EBUSY  Het  bestand  padnaam  kan  niet ontkoppeld worden omdat het in gebruik is door het
              systeem of door een ander proces; bijvoorbeeld,  het  is  een  koppelpunt  of   NFS
              client  software  maakte  het  aan  om  een  actieve  maar anders naamloze inode te
              vertegenwoordigen ("NFS silly renamed").

       EFAULT padnaam wijst buiten de voor u toegankelijke adresruimte.

       EIO    Een Invoer/Uitvoer fout trad op.

       EISDIR padnaam wijst naar een map. (Dit is de niet-POSIX waarde  teruggegeven  door  Linux
              sinds 2.1.132.)

       ELOOP  Teveel symbolische koppelingen werden tegengekomen bij het vertalen van padnaam.

       ENAMETOOLONG
              padnaam was te lang.

       ENOENT Een  deel  in  padnaam bestaat niet of is een loshangende symbolische koppeling, of
              padnaam is leeg.

       ENOMEM Onvoldoende kernelgeheugen voorhanden.

       ENOTDIR
              Een onderdeel gebruikt als map in padnaam is in feite geen map.

       EPERM  Het systeem staat ontkoppelen van mappen niet toe, of het  ontkoppelen  van  mappen
              behoeft   privileges   die   het   aanroepende  proces  niet  heeft.   (Dit  is  de
              voorgeschreven POSIX fout waarde; zoals hierboven beschreven zal Linux in dit geval
              EISDIR terug geven.)

       EPERM (alleen Linux)
              Het bestandssysteem staat ontkoppeling van bestanden niet toe.

       EPERM of EACCES
              De map waar padnaam in zit heeft het sticky-bit (S_ISVTX) aan staan en het geldende
              UID van het proces is noch het UID van het bestand dat verwijderd zou  worden  noch
              dat  van de map waar het in zit en het proces is niet geprivilegieerd (Linux: heeft
              niet de CAP_FOWNER capaciteit).

       EPERM  Het te ontkoppelen bestand is gemarkeerd als  onveranderlijk  of  alleen-toevoegen.
              (Zie ioctl_iflags(2).)

       EROFS  padnaam verwijst naar een bestand op een alleen-lezen bestandsysteem.

       Dezelfde  fouten die optreden in unlink()  en rmdir(2)  kunnen ook optreden in unlinkat().
       De volgende additionele fouten kunnen optreden in unlinkat():

       EBADF  padnaam is relatief en mapbi is noch AT_FDCWD  noch een geldige bestandsindicator.

       EINVAL Een ongeldige vlag werd opgegeven in vlaggen.

       EISDIR mapbi wijst naar een map, en AT_REMOVEDIR werd in vlaggen niet opgegeven.

       ENOTDIR
              padnaam is relatief en mapbi is een bestandsindicator die naar  een  bestand  wijst
              die geen map is.

VERSIES

       unlinkat()  werd  toegevoegd  in  de  Linux  kernel 2.6.16; bibliotheek ondersteuning werd
       toegevoegd in glibc versie 2.4.

VOLDOET AAN

       unlink(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.

       unlinkat(): POSIX.1-2008.

OPMERKINGEN

   Glibc-opmerkingen
       Op oudere kernels waar unlinkat() niet beschikbaar is,  valt  de  glibc  omwikkel  functie
       terug op het gebruik van unlink of rmdir(2). Wanneer padnaam een relatieve padnaam is, dan
       construeert glibc een padnaam gebaseerd  op  de  symbolische  koppeling  in  /proc/self/fd
       overeenkomende met het dirfd argument.

BUGS

       Ongelukkigheden  in het protocol waar NFS op is gebaseerd kunnen het onverwacht verdwijnen
       van bestanden veroorzaken die nog steeds gebruikt worden.

ZIE OOK

       rm(1), unlink(1), chmod(2), link(2), mknod(2), open(2),  rename(2),  rmdir(2),  mkfifo(3),
       remove(3), path_resolution(7), symlink(7)

COLOFON

       Deze   pagina  is  onderdeel  van  release  5.13  van  het  Linux  man-pages-project.  Een
       beschrijving van het project, informatie over het melden van bugs en  de  nieuwste  versie
       van deze pagina zijn op https://www.kernel.org/doc/man-pages/ te vinden.

VERTALING

       De   Nederlandse   vertaling   van  deze  handleiding  is  geschreven  door  Jos  Boersema
       <joshb@xs4all.nl>, Mario  Blättermann  <mario.blaettermann@gmail.com>  en  Luc  Castermans
       <luc.castermans@gmail.com>

       Deze  vertaling  is  vrije  documentatie;  lees  de  GNU  General Public License Version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ of later over de Copyright-voorwaarden. Er  is
       geen AANSPRAKELIJKHEID.

       Indien  U  fouten  in  de vertaling van deze handleiding zou vinden, stuur een e-mail naar
       ⟨debian-l10n-dutch@lists.debian.org⟩.