.\" -*- coding: UTF-8 -*- .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" and Copyright (C) 1993 Michael Haardt, Ian Jackson. .\" and Copyright (C) 2006, 2014 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Modified 1993-07-23 by Rik Faith .\" Modified 1994-08-21 by Michael Haardt .\" Modified 2004-06-23 by Michael Kerrisk .\" Modified 2005-04-04, as per suggestion by Michael Hardt for rename.2 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH link 2 "30 maart 2023" "Linux man\-pagina's 6.05.01" .SH NAAM link, linkat \- maak een nieuwe naam voor een bestand .SH BIBLIOTHEEK Standard C bibliotheek (\fIlibc\fP, \fI\-lc\fP) .SH SAMENVATTING .nf \fB#include \fP .PP \fBint link(const char *\fP\fIoudpad\fP\fB, const char *\fP\fInieuwpad\fP\fB);\fP .PP \fB#include \fP/* Definitie van \fBAT_*\fP constanten */ \fB#include \fP .PP \fBint linkat(int \fP\fIoudmapbi\fP\fB, const char *\fP\fIoudpad\fP\fB,\fP \fB int \fP\fInieuwmapbi\fP\fB, const char *\fP\fInieuwpad\fP\fB, int \fP\fIvlaggen\fP\fB);\fP .fi .PP .RS -4 Feature Test Macro´s eisen in glibc (zie \fBfeature_test_macros\fP(7)): .RE .PP \fBlinkat\fP(): .nf Vanaf glibc 2.10: _POSIX_C_SOURCE >= 200809L Voor glibc 2.10: _ATFILE_SOURCE .fi .SH BESCHRIJVING \fBlink\fP() maakt een nieuwe koppeling (ook bekend als harde koppeling) naar een bestaand bestand. .PP Als \fInieuwpad\fP al bestaat, dan zal het \fIniet\fP worden overschreven. .PP De nieuwe naam kan net zo gebruikt als de oude naam voor wat voor opdracht dan ook; beide namen wijzen naar hetzelfde bestand (en hebben daarom dezelfde toestemmingen en eigenaar) en het is onmogelijk te achterhalen wat de "oorspronkelijke" naam was. .SS linkat() De \fBlinkat\fP() systeem aanroep werkt op exact dezelfde manier als \fBlink\fP(), behalve dan voor de hier beschreven verschillen. .PP Als de padnaam gegeven in \fIoudpad\fP relatief is, dan wordt deze geïnterpreteerd als relatief aan de map aangewezen door de bestandsindicator \fIoudpadbi\fP (in plaats van relatief aan de werk map van het aanroepende proces, zoals gedaan door \fBlink\fP() voor een relatieve padnaam). .PP Als \fIoudpad\fP relatief is en \fIoudpadbi\fP heeft de speciale waard \fBAT_FDCWD\fP, dan wordt \fIoudpad\fP geïnterpreteerd als relatief aan de huidige werk map van het aanroepende proces (zoals \fBlink\fP()). .PP Als \fIoudpad\fP absoluut is, dan wordt \fIoudpadbi\fP genegeerd. .PP De interpretatie van \fInieuwpad\fP is zoals voor \fIoudpad\fP behalve dat een relatieve padnaam wordt geïnterpreteerd als relatief aan de map aangewezen door de bestandsindicator \fInieuwmapbi\fP. .PP De volgende waarden kunnen per bit worden geOF´ed in \fIvlaggen\fP: .TP \fBAT_EMPTY_PATH\fP (vanaf Linux 2.6.39) .\" commit 11a7b371b64ef39fc5fb1b6f2218eef7c4d035e3 .\" Before glibc 2.16, defining _ATFILE_SOURCE sufficed Als \fIoudpad\fP een lege tekenreeks is, maak dan een koppeling naar een bestand aangewezen door \fIoudmapbi\fP (die kan zijn verkregen door de \fBopen\fP(2) \fBO_PATH\fP vlag). In dit geval kan \fIoudmapbi\fP wijzen naar elk type bestand behalve een map. Dit zal in het algemeen niet werken als het bestand een aantal koppelingen van nul heeft (bestanden aangemaakt met \fBO_TMPFILE\fP en zonder \fBO_EXCL\fP zijn een uitzondering). De aanroeper moet de \fBCAP_DAC_READ_SEARCH\fP capaciteit hebben om deze vlag te kunnen gebruiken. Deze vlag is Linux\-specifiek; definieer \fB_GNU_SOURCE\fP om zijn definitie te verkrijgen. .TP \fBAT_SYMLINK_FOLLOW\fP (sinds Linux 2.6.18) Standaard ontkoppeld \fBlinkat\fP() \fIoudpad\fP niet als het een symbolische koppeling (zoals \fBlink\fP()) is. De vlag \fBAT_SYMLINK_FOLLOW\fP kan worden opgegeven in \fIvlaggen\fP om er voor te zorgen dat \fIoudpad\fP ontkoppeld wordt als het een symbolische koppeling is. Als procfs gekoppeld is, dan kan deze als alternatief voor \fBAT_EMPTH_PATH\fP gebruikt worden, zoals hier: .IP .in +4n .EX linkat(AT_FDCWD, "/proc/self/fd/", newdirfd, newname, AT_SYMLINK_FOLLOW); .EE .in .PP Voor Linux 2.6.18 werd het \fIvlaggen\fP argument niet gebruikt en moest worden opgegeven als 0. .PP Zie \fBopenat\fP(2) voor een uitleg over de noodzaak van \fBlinkat\fP(). .SH "EIND WAARDE" Bij succes wordt nul teruggegeven. Bij falen wordt \-1 teruggegeven en wordt \fIerrno\fP overeenkomstig gezet. .SH FOUTEN .TP \fBEACCES\fP Schrijf toegang in de map waar \fInieuwpad\fP in zou komen is niet toegestaan voor het geldende uid van het proces,of een van de mappen in \fIoudpad\fP of \fInieuwpad\fP stond zoek (uitvoer) toestemming niet toe. (Zie ook \fBpath_resolution\fP(7).) .TP \fBEDQUOT\fP De gebruiker quota van schijf blokken op het bestandssysteem zijn uitgeput. .TP \fBEEXIST\fP \fInieuwpad\fP bestaat al. .TP \fBEFAULT\fP \fIoudpad\fP of \fInieuwpad\fP wijzen buiten door u toegankelijke adres ruimte. .TP \fBEIO\fP Een Invoer/Uitvoer fout trad op. .TP \fBELOOP\fP Teveel symbolische koppelingen werden tegengekomen bij het vaststellen van \fIoudpad\fP of \fInieuwpad\fP. .TP \fBEMLINK\fP Het bestand waar \fIoudpad\fP naar wijst, heeft al het hoogste aantal mogelijke koppelingen. Bijvoorbeeld op een \fBext4\fP(5) bestandssysteem dat niet voorzien is van \fIdir_index\fP, is de limiet van het aantal harde koppeling naar een bestand 65.000; op \fBbtrfs\fP(5) is de limiet 65.535 koppelingen. .TP \fBENAMETOOLONG\fP \fIoudpad\fP of \fInieuwpad\fP was te lang. .TP \fBENOENT\fP Een map gedeelte van \fIoudpad\fP of \fInieuwpad\fP bestaat niet of is een loshangende symbolische koppeling. .TP \fBENOMEM\fP Onvoldoende kernelgeheugen voorhanden. .TP \fBENOSPC\fP Het apparaat waar het bestand op zit heeft geen ruimte voor een nieuwe map. .TP \fBENOTDIR\fP Een deel dat gebruikt wordt als map van \fIoudpad\fP of \fInieuwpad\fP is in feite geen map. .TP \fBEPERM\fP \fIoudpad\fP is een map. .TP \fBEPERM\fP Het bestandssysteem dat \fIoudpad\fP en \fInieuwpad\fP bevat ondersteunt de aanmaak van harde koppelingen niet. .TP \fBEPERM\fP (sinds Linux 3.6) De aanroeper heeft geen rechten om een harde koppeling naar dit bestand te maken (zie de beschrijving van \fI/proc/sys/fs/protected_hardlinks\fP in \fBproc\fP(5)). .TP \fBEPERM\fP \fIoudpad\fP is gemarkeerd als onveranderlijk of alleen\-toevoegen. (Zie \fBioctl_iflags\fP(2).) .TP \fBEROFS\fP Het bestand staat op een alleen\-lezen bestandssysteem. .TP \fBEXDEV\fP \fIoudpad\fP en \fInieuwpad\fP staan niet op hetzelfde aangekoppelde bestandssysteem. (Linux staat toe een bestandssysteem op verschillende punten aan te koppelen, maar \fBlink\fP() werkt niet over verschillende aankoppel punten, zelfs als hetzelfde bestandssysteem is aangekoppeld op beide.) .PP De volgende additionele fouten kunnen optreden in \fBlinkat\fP(): .TP \fBEBADF\fP \fIoldpath\fP (\fInewpath\fP) is relatief maar \fIolddirfd\fP (\fInewdirfd\fP) is noch \fBAT_FDCWD\fP noch een geldige bestandsindicator. .TP \fBEINVAL\fP Een ongeldige vlag werd opgegeven in \fIvlaggen\fP. .TP \fBENOENT\fP \fBAT_EMPTY_PATH\fP werd opgegeven in \fIvlaggen\fP, maar de aanroeper heeft niet de \fBCAP_DAC_READ_SEARCH\fP capaciteit. .TP \fBENOENT\fP Een poging werd gedaan om het \fI/proc/self/fd/NN\fP bestand overeenkomende met een bestandsindicator aangemaakt met .IP .in +4n .EX open(path, O_TMPFILE | O_EXCL, mode); .EE .in .IP Zie \fBopen\fP(2). .TP \fBENOENT\fP Een poging werd gedaan om een koppeling naar een \fI/proc/self/fd/NN\fP bestand te maken die overeen kwam met een bestand die werd gewist. .TP \fBENOENT\fP \fIoudpad\fP is een relatieve padnaam en \fIoudmapbi\fP wijst naar een map die gewist werd, of \fInieuwpad\fP is een relatieve padnaam en \fInieuwmapbi\fP wijst naar een map die gewist werd. .TP \fBENOTDIR\fP \fIoudpad\fP is relatief en \fIoudmapbi\fP is een bestandsindicator die naar een bestand anders dan een map wijst; of vergelijkbaar voor \fInieuwpad\fP en \fInieuwmapbi\fP .TP \fBEPERM\fP \fBAT_EMPTY_PATH\fP werd opgegeven in \fIvlaggen\fP, \fIoudpad\fP is een lege tekenreeks, en \fIoudmapbi\fP wijst naar een map. .SH VERSIES .\" more precisely: since Linux 1.3.56 .\" For example, the default Solaris compilation environment .\" behaves like Linux, and contributors to a March 2005 .\" thread in the Austin mailing list reported that some .\" other (System V) implementations did/do the same -- MTK, Apr 05 POSIX.1\-2001 schrijft voor dat \fBlink\fP() \fIoudpad\fP moet ontkoppelen als het een symbolische koppeling is. Echter vanaf Linux 2.0 doet Linux dit niet: als \fIoudpad\fP een symbolische koppeling is, dan wordt \fInieuwpad\fP aangemaakt als een harde koppeling naar hetzelfde symbolische koppeling bestand (m.a.w. \fInieuwpad\fP wordt een symbolische koppeling naar hetzelfde bestand waar \fIoudpad\fP naar wijst). Sommige andere implementaties gedragen zich op dezelfde manier als Linux. POSIX.1\-2008 verandert de specificatie van \fBlink\fP() daarbij wordt het implementatie\-afhankelijk van het ontkoppeld zijn of niet van \fIoudpad\fP als het een symbolische koppeling is. Om precieze controle over de behandeling van symbolische koppelingen te krijgen bij het aanmaken van koppelingen gebruik \fBlinkat\fP(). .SS glibc Op oudere kernels waar \fBlinkat\fP niet beschikbaar is, valt de glibc omwikkel functie terug op het gebruik van \fBlink\fP(), behalve als \fBAT_SYMLINK_FOLLOW\fP werd opgegeven. Als \fIoudpad\fP en \fInieuwpad\fP relatieve padnamen zijn, dan construeert glibc padnamen gebaseerd op de symbolische koppelingen die overeenkomen met de \fIoudpadbi\fP en \fInieuwmapbi\fP argumenten. .SH "VOLDOET AAN" .TP \fBlink\fP() POSIX.1\-2008. .SH GESCHIEDENIS .TP \fBlink\fP() .\" SVr4 documents additional ENOLINK and .\" EMULTIHOP error conditions; POSIX.1 does not document ELOOP. .\" X/OPEN does not document EFAULT, ENOMEM or EIO. SVr4, 4.3BSD, POSIX.1\-2001 (maar zie VERSIES). .TP \fBlinkat\fP() POSIX.1\-2008. Linux 2.6.16, glibc 2.4. .SH OPMERKINGEN Harde koppelingen, zoals die gemaakt worden door \fBlink\fP(), kunnen niet over meerdere bestandsystemen heen reiken. Gebruik \fBsymlink\fP() als dat nodig is. .SH BUGS Op NFS bestandsystemen kan de teruggeef code fout zijn als de NFS server de koppeling uitvoert maar sterft voordat het dat kan doen. Gebruik \fBstat\fP(2) om uit te vinden of de koppeling gemaakt werd. .SH "ZIE OOK" \fBln\fP(1), \fBopen\fP(2), \fBrename\fP(2), \fBstat\fP(2), \fBsymlink\fP(2), \fBunlink\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7) .PP .SH VERTALING De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema , Mario Blättermann en Luc Castermans . .PP Deze vertaling is vrije documentatie; lees de .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID. .PP Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar .MT debian-l10n-dutch@lists.debian.org .ME .