symlink(2) | System Calls Manual | symlink(2) |
NAAM
symlink, symlinkat - maak een nieuwe naam voor een bestand
BIBLIOTHEEK
Standard C bibliotheek (libc, -lc)
SAMENVATTING
#include <unistd.h>
int symlink(const char *oudpad, const char *nieuwpad);
#include <fcntl.h> /* Definitie van AT_* constanten */ #include <unistd.h>
int symlinkat(const char *oudpad, int nieuwmapbi, const char *nieuwpad);
symlink():
_XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L || /* glibc <= 2.19: */ _BSD_SOURCE
symlinkat():
Vanaf glibc 2.10: _POSIX_C_SOURCE >= 200809L Voor glibc 2.10: _ATFILE_SOURCE
BESCHRIJVING
symlink() maakt een symbolische koppeling genaamd nieuwpad die het karakter-string oudpad bevat.
Symbolische koppelingen worden geïnterpreteerd tijdens draaien, alsof de inhoud van de koppeling vervangen werd door het pad dat gevolgd werd om een bestand of map te vinden.
Symbolische koppelingen kunnen .. pad onderdelen bevatten, die (als ze gebruikt worden aan het begin van de koppeling) wijzen naar de ouder mappen van die waarin de koppeling staat.
Een symbolische koppeling (ook bekend als zachte koppeling) mag wijzen naar een bestaand bestand of naar een niet bestaand; het laatste geval staat bekend als een loshangende koppeling.
De toestemmingen van een symbolische koppeling zijn onbelangrijk; het eigendom wordt genegeerd bij het volgen van de koppeling (behalve als het protected_symlinks feature werd aangezet., zoals uitgelegd in proc(5), maar wordt gecontroleerd als verwijdering of hernoemen van de koppeling werd gevraagd en als de koppeling in een map staat met het sticky bit (S_ISVTX) gezet.
Als nieuwpad bestaat zal het niet overschreven worden.
symlinkat()
De symlinkat() systeem aanroep functioneert op exact dezelfde manier als sysmlink(), behalve voor die verschillen zoals hier beschreven.
Als de padnaam gegeven in nieuwpad relatief is, dan wordt deze geïnterpreteerd relatief aan de map gerefereerd door de bestand beschrijving nieuwmapbi (anders dan relatief aan de huidige werk map van het aanroepende proces, zoals gedaan door sysmlink() voor een relatieve padnaam).
Als nieuwpad relatief is en nieuwmapbi is gelijk aan de speciale waarde AT_FDCWD, dan wordt nieuwpad geïnterpreteerd relatief aan de huidige werk map van het aanroepende proces (zoals symlink().
Als nieuwpad absoluut is, dan wordt nieuwmapbi genegeerd.
Zie openat(2) voor de uitleg over de noodzaak van readlinkat().
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 nieuwpad bevat wordt niet toegestaan, of een van de mappen in het voorvoegsel van nieuwpad liet zoeken niet toe. (Zie ook path_resolution(7).)
- EBADF
- (symlinkat()) linkpath is relatief maar nieuwmapbi is noch AT_FDCWD noch een geldige bestandsindicator.
- EDQUOT
- De gebruikers quota van bronnen op het bestandssysteem zijn uitgeput. De bronnen kunnen inodes of blokken op de schijf zijn, afhankelijk van de implementatie van het bestandssysteem.
- EEXIST
- nieuwpad bestaat al.
- EFAULT
- oudpad of nieuwpad wijzen buiten uw toegankelijk geheugen.
- EIO
- Een Invoer/Uitvoer fout trad op.
- ELOOP
- Teveel symbolische koppelingen werden tegengekomen bij het vaststellen van nieuwpad.
- ENAMETOOLONG
- oudpad of nieuwpad was te lang.
- ENOENT
- Een map deel in nieuwpad bestaat niet of is een loshangende symbolische koppeling, of oudpad of nieuwpad is een lege string.
- ENOENT
- (symlinkat()) nieuwpad is een relatieve padnaam en nieuwmapbi wijst naar een map die werd verwijderd.
- ENOMEM
- Onvoldoende kernelgeheugen voorhanden.
- ENOSPC
- Het apparaat waar het bestand op zit heeft geen ruimte voor een nieuwe map.
- ENOTDIR
- Een deel gebruikt als een map in nieuwpad is in feite geen map.
- ENOTDIR
- (symlinkat()) nieuwpad is relatief en nieuwmapbi is een bestandsindicator die naar een bestand in plaats van een map wijst.
- EPERM
- Het bestandssysteem dat nieuwpad bevat, ondersteund het maken van symbolische koppelingen niet.
- EROFS
- nieuwpad is op een alleen-lezen bestandssysteem.
VOLDOET AAN
POSIX.1-2008.
GESCHIEDENIS
- symlink()
- SVr4, 4.3BSD, POSIX.1-2001.
- symlinkat()
- POSIX.1-2008. Linux 2.6.16, glibc 2.4.
Glibc-opmerkingen
Op oudere kernels waar symlinkat() niet beschikbaar is, valt de glibc omwikkel functie terug op het gebruik van symlink(). Als nieuwpad een relatieve padnaam is, dan construeert glibc een padnaam gebaseerd op de symbolische koppeling in /proc/self/df die overeenkomt met het nieuwmapbi argument.
OPMERKINGEN
oudpad wordt niet gecontroleerd.
Wissen van de naam waar de symbolische koppeling naar wijst zal daadwerkelijk het bestand wissen (tenzij het ook nog andere harde koppelingen heeft.) Als dit gedrag ongewenst is, gebruik link(2).
ZIE OOK
ln(1), namei(1), lchown(2), link(2), lstat(2), open(2), readlink(2), rename(2), unlink(2), path_resolution(7), symlink(7)
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.
2 mei 2024 | Linux man-pages 6.8 |