Provided by:
manpages-nl_20051127-4_all
NAAM
rename - verander de naam of plaats van een bestand
OVERZICHT
#include <stdio.h>
int rename(const char *oudpad, const char *nieuwpad);
BESCHRIJVING
rename hernoemd een bestand, het naar andere directories verplaatsend
als nodig.
Elke andere harde koppeling naar het bestand (gemaakt met link(2)) bli‐
jft onaangetast.
Als nieuwpad al bestaat wordt het automatisch vervangen (afhankelijk
van een paar voorwaarden - zie FOUTEN onder), zodat er geen moment is
waarop een ander proces dat toegang tot nieuwpad probeert te krijgen
het zal missen.
Als nieuwpad bestaat maar de handeling faalt om een of andere reden,
dan garandeert rename , nieuwpad op zijn plaats te laten.
Maar: bij het overschrijven zal er waarschijnlijk een interval zijn
waarin oudpad en nieuwpad allebei naar het bestand dat hernoemd wordt
wijzen.
Als oudpad naar een symbolische link wijst, wordt de koppeling her‐
noemd; als nieuwpad naar een symbolische link wijst wordt de koppeling
overschreven.
Bij success wordt nul teruggegeven. Bij falen wordt -1 teruggegeven, en
wordt errno naar behoren gezet.
FOUTEN
EISDIR {is dir} nieuwpad is een bestaande dir, maar oudpad is geen dir.
EXDEV {? apparaat} oudpad en nieuwpad zitten niet op hetzelfde
bestandsysteem.
ENOTEMPTY of EEXIST
{niet leeg} {bestaat} nieuwpad is een niet-lege dir, het bevat
andere ingangen dan "." en "..".
EBUSY {bezig} Het hernoemen faalde omdat oudpad of nieuwpad een dir is
die in gebruik is door een of ander proces (misschien als
huidige werk-directorie, of als root {eng: root} dir, of omdat
het voor schrijven open was) of het is in gebruik door het sys‐
teem (bijvoorbeeld als mount {eng: mount} punt), en het systeem
beschouwd dit als een fout. (Merk op dat er geen vereiste is om
EBUSY terug te geven is in deze gevallen - er is niets mis met
het hoe-dan-ook doen van de hernoeming - maar het wordt toeges‐
taan om EBUSY terug te geven als het systeem dergelijke situ‐
aties niet anders kan afhandelen.
EINVAL {ongeldig} De nieuwe padnaam bevat een voorvoegsel van de oude,
of, algemener, een poging werd gedaan om een dir een onderdir
van zichzelf te maken.
EMLINK {max verbind} oudpad heeft al het maximum aantal koppelingen
naar zich toe, of het was een dir en de dir die nieuwpad bevat
heeft al het maximum aantal koppelingen.
ENOTDIR
{geen dir} Een deel gebruikt als een dir in oudpad of nieuwpad
is in feite geen dir. Of, oudpad is een dir, en nieuwpad
bestaat maar is geen dir.
EFAULT {fout} oudpad of nieuwpad wijzen buiten door u toegankelijke
adres ruimte.
EACCES {toegang} Schrijf toegang in de dir die oudpad of nieuwpad bevat
is niet toegestaan voor het proces zijn geldende uid, of een van
de directories in oudpad of nieuwpad liet geen zoek (uitvoer)
toestemming toe, of oudpad was een dir maar liet geen schri‐
jftoestemming toe (benodigd om de .. ingang bij te werken).
EPERM of EACCES
{toestemming} {toegang} De dir die oudpad bevat heeft het sticky
bit gezet en het proces zijn geldige uid is niet dat van root,
nog het uid van het bestand dat geschrapt zal worden, nog dat
van de dir die het bevat, of nieuwpad is een bestaand bestand en
de dir die het bevat heeft het sticky bit gezet maar het geldige
uid van het proces is niet dat van root nog het uid van het
bestand dat verplaatst zal worden nog dat van de dir die het
bevat, of het bestandsysteem waar padnaam op zit ondersteund de
gevraagde hernoem-soort niet.
ENAMETOOLONG
{naam te lang} oudpad of nieuwpad is te lang.
ENOENT {geen ingang} Een dir deel van oudpad of nieuwpad bestaat niet
of is een loshangende symbolische koppeling.
ENOMEM {geen geheugen} Onvoldoende besturingssysteem geheugen voorhan‐
den.
EROFS {alleen-lezen b.s.} Het bestand is op een alleen-lezen
bestandsysteem.
ELOOP {cirkel} Teveel symbolische koppelingen werden tegengekomen bij
het "oplossen" van oudpad of nieuwpad.
ENOSPC {geen ruimte} Het apparaat dat het bestand bevat heeft geen
ruimte voor een nieuwe dir ingang.
POSIX, 4.3BSD, ANSI C
BUGS
Op NFS bestandsystemen kun je niet aannemen dat als een handeling mis‐
lukte, het bestand niet hernoemd werd. Als de server de hernoem-handel‐
ing doet en gecrasht {eng: crashes} dan zal de herverstuurde RPC die
afgehandeld zal worden als de server het weer doet, een fout veroorza‐
ken. Van toepassing wordt verwacht hiermee om te gaan. Zie link(2)
voor gelijksoortige problemen.
ZIE
link(2) {verbind}, unlink(2) {maak-los}, symlink(2) {symbolische kop‐
peling}, mv(1) {verplaats}
VERTALING
Dit is een handleiding uit manpages-dev 1.29. Alles wat tussen
‘{’..‘}’ staat is aanvullende vertaling, en hoort niet bij de originele
handleiding. Email naar <manpages-nl@nl.linux.org>.
$Id: rename.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $