.\" -*- coding: UTF-8 -*- .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" and Copyright (C) 1993 Michael Haardt; .\" and Copyright (C) 1993,1995 Ian Jackson .\" and Copyright (C) 2006, 2014 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Modified Sat Jul 24 00:35:52 1993 by Rik Faith .\" Modified Thu Jun 4 12:21:13 1998 by Andries Brouwer .\" Modified Thu Mar 3 09:49:35 2005 by Michael Haardt .\" 2007-03-25, mtk, added various text to DESCRIPTION. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH rename 2 "30 maart 2023" "Linux man\-pagina's 6.05.01" .SH NAAM rename, renameat, renameat2 \- verander de naam of plaats van een bestand .SH BIBLIOTHEEK Standard C bibliotheek (\fIlibc\fP, \fI\-lc\fP) .SH SAMENVATTING .nf \fB#include \fP .PP \fBint rename(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 renameat(int \fP\fIoud_bes_ind\fP\fB, const char *\fP\fIoudpad\fP\fB,\fP \fB int \fP\fInieuw_bes_ind\fP\fB, const char *\fP\fInieuwpad\fP\fB);\fP \fBint renameat2(int \fP\fIoud_bes_ind\fP\fB, const char *\fP\fIoudpad\fP\fB,\fP \fB int \fP\fInieuw_bes_ind\fP\fB, const char *\fP\fInieuwpad\fP\fB, unsigned 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 .nf \fBrenameat\fP(): Vanaf glibc 2.10: _POSIX_C_SOURCE >= 200809L Voor glibc 2.10: _ATFILE_SOURCE .PP \fBrenameat2\fP(): _GNU_SOURCE .fi .SH BESCHRIJVING \fBrename\fP() hernoemt een bestand, het naar andere mappen verplaatsend als nodig. Elke andere harde koppeling naar het bestand (gemaakt met \fBlink\fP(2)) blijft onaangetast. Open bestandsindicatoren voor \fIoudpad\fP blijven ook onaangetast. .PP Diverse beperkingen bepalen of de rename operatie wel of niet succesvol is: zie FOUTEN hieronder. .PP Als \fInieuwpad\fP al bestaat wordt het atomair vervangen zodat er geen enkel moment is waarop een ander proces dat toegang tot \fInieuwpad\fP probeert te krijgen het zal missen. Hoewel er mogelijk een venster kan zijn waarin beiden \fIoudpad\fP en \fInieuwpad\fP naar het bestand wijzen dat hernoemd wordt. .PP Als \fIoudpad\fP en \fInieuwpad\fP bestaande harde verwijzingen naar hetzelfde bestand zijn, dan doet \fBrename\fP() niks en geeft een succes status terug. .PP Als \fInieuwpad\fP bestaat maar de handeling faalt om een of andere reden, dan garandeert \fBrename\fP(), \fInieuwpad\fP op zijn plaats te laten. .PP \fIoudpad\fP kan een map specificeren. In dit geval moet of \fInieuwpad\fP niet bestaan of een lege map specificeren. .PP Als \fIoudpad\fP naar een symbolische link wijst, wordt de koppeling hernoemd; als \fInieuwpad\fP naar een symbolische link wijst wordt de koppeling overschreven. .SS renameat() De \fBrenameat\fP() systeem aanroep werkt op exact dezelfde manier a;ls \fBrename\fP(), behalve voor de hier beschreven verschillen. .PP Als de padnaam gegeven in \fIoudpad\fP relatief is, dan wordt deze geïnterpreteerd als relatief ten opzichte van de map aangewezen door de bestandsindicator \fIoud_bes_ind\fP (in plaats van relatief aan de werkmap van het aanroepende proces, zoals gedaan door \fBrename\fP() voor een relatieve padnaam). .PP Als \fIoudpad\fP relatief is en \fIoud_bes_ind\fP de speciale waarde \fBAT_FDCWD\fP heeft, dan wordt \fIoudpad\fP geïnterpreteerd als relatief aan de werkmap van het aanroepende proces (zoals \fBrename\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 Zie \fBopenat\fP(2) voor een uitleg over de noodzaak van \fBrenameat\fP(). .SS renameat2() \fBrenameat2\fP() heeft een additioneel \fIvlaggen\fP argument. Een \fBrenameat2\fP() aanroep met een nul \fIvlaggen\fP argument is equivalent met \fBrenameat\fP(). .PP Het \fIvlaggen\fP argument is een bit masker bestaande uit nul of meer van de volgende vlaggen: .TP \fBRENAME_EXCHANGE\fP Verwissel \fIoudpad\fP en \fInieuwpad\fP atomair. Beide padnamen moeten bestaan maar mogen van verschillende typen zijn (b.v. een zou een niet\-lege map kunnen zijn en de andere een symbolische verwijzing). .TP \fBRENAME_NOREPLACE\fP Overschrijf \fInieuwpad\fP niet bij het hernoemen. Geef een fout terug als \fInieuwpad\fP al bestaat. .IP \fBRENAME_NOREPLACE\fP kan niet gebruikt worden samen met \fBRENAME_EXCHANGE\fP. .IP \fBRENAME_NOREPLACE\fP vereist ondersteuning door het onderliggende bestandssysteem. Ondersteuning door verschillende bestandssystemen wordt als volgt toegevoegd: .RS .IP \[bu] 3 .\" ext4: commit 0a7c3937a1f23f8cb5fc77ae01661e9968a51d0c ext4 (Linux 3.15); .IP \[bu] btrfs, tmpfs, en cifs (Linux 3.17); .IP \[bu] .\" btrfs: commit 80ace85c915d0f41016f82917218997b72431258 .\" tmpfs: commit 3b69ff51d087d265aa4af3a532fc4f20bf33e718 .\" cifs: commit 7c33d5972ce382bcc506d16235f1e9b7d22cbef8 .\" .\" gfs2 in Linux 4.2? xfs (Linux 4.0); .IP \[bu] .\" Also affs, bfs, exofs, hfs, hfsplus, jffs2, logfs, msdos, .\" nilfs2, omfs, sysvfs, ubifs, udf, ufs .\" hugetlbfs, ramfs .\" local filesystems: commit f03b8ad8d38634d13e802165cc15917481b47835 .\" libfs: commit e0e0be8a835520e2f7c89f214dfda570922a1b90 Ondersteuning voor veel andere bestandssystemen werd toegevoegd in Linux 4.9, inclusief ext2, minix, reiserfs, jfs, vfat en bpf. .RE .TP \fBRENAME_WHITEOUT\fP (sinds Linux 3.18) .\" commit 0d7a855526dd672e114aff2ac22b60fc6f155b08 .\" commit 787fb6bc9682ec7c05fb5d9561b57100fbc1cc41 Deze operatie is alleen logisch voor overlappende/eenheid bestandssysteem implementaties. .IP Opgeven van \fBRENAME_WHITEOUT\fP creëert een "whiteout" object aan het begin van het hernoemen op hetzelfde tijdstip als het uitvoeren van het hernoemen. De hele operatie is atomair, zodat als het hernoemen succesvol is de "whiteout" ook zal zijn aangemaakt. .IP Een "whiteout" is een object met een speciale betekenis in eenheid/overlap bestandssysteem constructies. In deze constructies, bestaan meerdere lagen en alleen de bovenste zal ooit worden gewijzigd. Een "whiteout" op een bovenste laag zal een overeenkomend bestand effectief verstoppen in een lagere laag, er voor zorgende dat het bestand verschijnt alsof het niet bestaat. .IP Wanneer een bestaand bestand op de lagere laag werd hernoemd, dan wordt deze allereerst omhoog gekopieerd (als hij al niet bestond op de hogere laag) en vervolgens gehernoemd op de hogere, lees\-schrijf laag. Tegelijkertijd moet het bron bestand ge\-"whiteout" zijn (zodat de versie van het bron bestand in de lagere laag onzichtbaar is). De gehele operatie dient atomair uitgevoerd te worden. .IP .\" https://www.freebsd.org/cgi/man.cgi?query=mount_unionfs&manpath=FreeBSD+11.0-RELEASE Indien geen onderdeel van een eenheid/overlap, dan verschijnt de "whiteout" als een teken apparaat met (0,0) als apparaat nummer. (Merk op dan andere eenheid/overlap implementaties andere methodes kunnen gebruiken om "whiteout" eenheden op te slaan; zo gebruikt de BSD eenheid koppeling het speciale inode type \fBDT_WHT\fP die, hoewel ondersteund door een aantal bestandssystemen beschikbaar in Linux, zoals CODA en XFS, wordt genegeerd door de ondersteunende code in de kernel, vanaf Linux 4.19.) .IP \fBRENAME_WHITEOUT\fP vereist dezelfde rechten als voor het aanmaken van een apparaat node (m.a.w, de \fBCAP_MKNOD\fP capaciteit). .IP \fBRENAME_NOREPLACE\fP kan niet gebruikt worden samen met \fBRENAME_EXCHANGE\fP. .IP .\" tmpfs: commit 46fdb794e3f52ef18b859ebc92f0a9d7db21c5df .\" ext4: commit cd808deced431b66b5fa4e5c193cb7ec0059eaff .\" XFS: commit 7dcf5c3e4527cfa2807567b00387cf2ed5e07f00 .\" f2fs: commit 7e01e7ad746bc8198a8b46163ddc73a1c7d22339 .\" btrfs: commit cdd1fedf8261cd7a73c0596298902ff4f0f04492 .\" ubifs: commit 9e0a1fff8db56eaaebb74b4a3ef65f86811c4798 \fBRENAME_NOREPLACE\fP vereist ondersteuning door het onderliggende bestandssysteem. Onder de bestandssystemen die het ondersteunen zijn tmpfs (vanaf Linux 3.18), ext4 (vanaf Linux 3.18), XFS (vanaf Linux 4.1), f2fs (vanaf Linux 4.2), btrfs (vanaf Linux 4.7), en ubifs (vanaf Linux 4.9). .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 is niet toegestaan in de map die \fIoudpad\fP of \fInieuwpad\fP bevat, of, zoeken is niet toegestaan voor een van de mappen in het pad voorvoegsel van \fIoudpad\fP of \fInieuwpad\fP, of \fIoudpad\fP is een map en staat niet schrijftoestemming niet toe (die nodig is om de \fI..\fP ingang te updaten). (Zie ook \fBpath_resolution\fP(7).) .TP \fBEBUSY\fP Het hernoemen faalde omdat \fIoudpad\fP of \fInieuwpad\fP een map is die in gebruik is door een of ander proces (misschien als huidige werkmap, of als systeembeheerder map, of omdat het voor schrijven open was) of het is in gebruik door het systeem (bijvoorbeeld als aankoppel punt), en het systeem beschouwd dit als een fout. (Merk op dat er geen vereiste is om \fBEBUSY\fP terug te geven is in deze gevallen \[em]er is niets mis met het hoe\-dan\-ook doen van de hernoeming\[em] maar het wordt toegestaan om \fBEBUSY\fP terug te geven als het systeem dergelijke situaties niet anders kan afhandelen.) .TP \fBEDQUOT\fP De gebruiker quota van schijf blokken op het bestandssysteem zijn uitgeput. .TP \fBEFAULT\fP \fIoudpad\fP of \fInieuwpad\fP wijzen buiten door u toegankelijke adres ruimte. .TP \fBEINVAL\fP De nieuwe padnaam bevat een voorvoegsel van de oude, of, algemener, een poging werd gedaan om een map een ondermap van zichzelf te maken. .TP \fBEISDIR\fP \fInieuwpad\fP is een bestaande map, maar \fIoudpad\fP is geen map. .TP \fBELOOP\fP Teveel symbolische koppelingen werden tegengekomen bij het vaststellen van \fIoudpad\fP of \fInieuwpad\fP. .TP \fBEMLINK\fP \fIoudpad\fP heeft al het maximum aantal koppelingen naar zich toe, of het was een dir en de map die \fInieuwpad\fP bevat heeft al het maximum aantal koppelingen. .TP \fBENAMETOOLONG\fP \fIoudpad\fP of \fInieuwpad\fP was te lang. .TP \fBENOENT\fP De verwijzing aangeduid door \fIoudpad\fP bestaat niet of een map component in \fInieuwpad\fP bestaat niet, of \fIoudpad\fP of \fInieuwpad\fP zijn lege tekenreeksen. .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 gebruikt als een map in \fIoudpad\fP of \fInieuwpad\fP is in feite geen map. Of, \fIoudpad\fP is een map, en \fInieuwpad\fP bestaat maar is geen map. .TP \fBENOTEMPTY\fP of \fBEEXIST\fP \fInieuwpad\fP is een niet\-lege map, het bevat andere ingangen dan "." en "..". .TP \fBEPERM\fP of \fBEACCES\fP De map die \fIoudpad\fP bevat heeft het plak\-bit (\fBS_ISVTX\fP) gezet enhet effectieve gebruiker ID is noch het gebruiker ID van het bestand dat gewist moet worden noch dat van de map die het bevat, en het proces is niet gerechtigd (Linux: heeft de \fBCAP_FOWNER\fP capaciteit); of \fInieuwpad\fP is een bestaand bestand en de map die het bevat heeft het plak\-bit gezet en het effectieve gebruiker ID van het proces is noch het gebruiker ID van het bestand dat moet worden vervangen noch dat van de map die het bevat, en het proces is niet gerechtigd (Linux: heeft de \fBCAP_FOWNER\fP capaciteit niet); of het bestandssysteem dat \fIoudpad\fP bevat ondersteund het hernoemen van het dit type niet. .TP \fBEROFS\fP Het bestand staat op een alleen\-lezen bestandssysteem. .TP \fBEXDEV\fP \fIoudpad\fP en \fInieuwpad\fP zitten niet op hetzelfde aangekoppelde bestandssysteem. (Linux staat toe dat bestandssystemen worden aangekoppeld op meerdere punten, maar \fBrename\fP() werkt niet over verschillende aankoppel punten, zelfs als hetzelfde bestandssysteem is gekoppeld op beiden.) .PP De volgende extra fouten kunnen optreden voor \fBrenameat\fP() en \fBrenameat2\fP(): .TP \fBEBADF\fP \fIoudemapbi\fP (\fInieuwpad\fP) is relatief maar \fIoudemapbi\fP (\fInieuwmapbi\fP) is geen geldige bestandsindicator. .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 .PP De volgende extra fouten kunnen optreden voor \fBrenameat2\fP(): .TP \fBEEXIST\fP \fIvlaggen\fP bevat \fBRENAME_NOREPLACE\fP en \fInieuwpad\fP bestaat al. .TP \fBEINVAL\fP Een ongeldig vlag werd in \fIvlaggen\fP opgegeven. .TP \fBEINVAL\fP Zowel \fBRENAME_NOREPLACE\fP als \fBRENAME_EXCHANGE\fP werden opgegeven in \fIvlaggen\fP. .TP \fBEINVAL\fP Zowel \fBRENAME_NOREPLACE\fP als \fBRENAME_EXCHANGE\fP werden opgegeven in \fIvlaggen\fP. .TP \fBEINVAL\fP Het bestandssysteem ondersteund een van de vlaggen in \fIvlaggen\fP niet. .TP \fBENOENT\fP \fIflags\fP bevat \fBRENAME_EXCHANGE\fP en \fInieuwpad\fP bestaat niet. .TP \fBEPERM\fP \fBRENAME_WHITEOUT\fP werd opgegeven in \fIvlaggen\fP, maar de aanroeper heeft de\fBCAP_MKNOD\fP capaciteit niet. .SH "VOLDOET AAN" .TP \fBrename\fP() C11, POSIX.1\-2008. .TP \fBrenameat\fP() POSIX.1\-2008. .TP \fBrenameat2\fP() Linux. .SH GESCHIEDENIS .TP \fBrename\fP() 4.3BSD, C89, POSIX.1\-2001. .TP \fBrenameat\fP() Linux 2.6.16, glibc 2.4. .TP \fBrenameat2\fP() Linux 3.15, glibc 2.28. .SS Glibc\-opmerkingen Op oudere kernels waar \fBrenameat\fP() niet beschikbaar is, valt de glibc omwikkelfunctie terug op het gebruik van \fBrename\fP(). Als \fIoudpad\fP and \fInieuwpad\fP relative padnamen zijn, dan zal glibc padnamen construeren gebaseerd op de symbolische koppelingen in \fI/proc/self/fd\fP die overeenkomen met de \fIoudmapbi\fP en \fInieuwmapbi\fP argumenten. .SH BUGS Op NFS bestandsystemen kun je niet aannemen dat als een handeling mislukte, het bestand niet hernoemd werd. Als de server de hernoem\-handeling doet en gecrasht dan zal de herverstuurde RPC die afgehandeld zal worden als de server het weer doet, een fout veroorzaken. Van toepassing wordt verwacht hiermee om te gaan. Zie \fBlink\fP(2) voor gelijksoortige problemen. .SH "ZIE OOK" \fBmv\fP(1), \fBrename\fP(1), \fBchmod\fP(2), \fBlink\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 .