Provided by: manpages-nl-dev_4.13-4_all 

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);
Test Macro´s in glibc (zie feature_test_macros(7)):
unlinkat():
Vanaf glibc 2.10:
_POSIX_C_SOURCE >= 200809L
Vóór 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 pathname 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 mapbi is geen 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.10 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 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.
Linux 15 september 2017 UNLINK(2)