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

NAAM
truncate, ftruncate - snoei een bestand terug tot een bepaalde lengte
SAMENVATTING
#include <unistd.h>
#include <sys/types.h>
int truncate(const char *pad, off_t lengte);
int ftruncate(int bi, off_t lengte);
Test Macro´s in glibc (zie feature_test_macros(7)):
truncate():
_XOPEN_SOURCE >= 500
|| /* Sinds glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
|| /* Glibc versies <= 2.19: */ _BSD_SOURCE
ftruncate():
_XOPEN_SOURCE >= 500
|| /* Sinds glibc 2.3.5: */ _POSIX_C_SOURCE >= 200112L
|| /* Glibc versies <= 2.19: */ _BSD_SOURCE
BESCHRIJVING
truncate() en ftruncate() veroorzaken dat het bestand genoemd in pad of verwezen naar door bi
teruggesnoeid wordt tot hoogstens lengte bytes in grootte.
Als het bestand eerder groter dan deze maat was zijn de extra gegevens verloren. Als het bestand eerder
korter was is het onbepaald of het bestand onveranderd wordt gelaten of wordt verlengd. In het laatste
geval leest het toegevoegde deel als genulde bytes ('\0').
De bestands afstand is niet veranderd.
Als de grootte veranderde, dan worden de st_ctime and st_mtime velden (respectievelijk, tijdstip van de
laatste status verandering en tijdstip van de laatste wijziging; zie inode(7)) aangepast, en de
set-user-ID en de set-group-ID modus bits mogen gewist worden.
Voor ftruncate() moet het bestand open zijn om te schrijven; voor truncate(), moet het bestand
schrijfbaar zijn.
EIND WAARDE
Bij succes wordt nul teruggegeven. Bij falen wordt -1 teruggegeven en wordt errno overeenkomstig gezet.
FOUTEN
Voor truncate():
EACCES Zoek toestemming werd geweigerd voor een deel van het pad voorvoegsel, of het genoemde bestand is
niet schrijfbaar door de gebruiker. (Zie ook path_resolution(7).)
EFAULT Het argument pad wijst buiten de toegewezen adres ruimte van het proces.
EFBIG Het argument lengte is groter dan de maximum bestandsgrootte. (XSI)
EINTR Zolang geblokkeerd wachten op beëindiging, de aanroep werd onderbroken door een signaal verwerker;
zie fcntl(2) en signal(7).
EINVAL Het argument lengte is negatief of groter dan de maximum bestandsgrootte.
EIO Een In/Uit fout trad op tijdens het bij de tijd brengen van de inode.
EISDIR Het genoemde bestand is een map.
ELOOP Teveel symbolische koppelingen werden tegengekomen bij het vertalen van de padnaam.
ENAMETOOLONG
Een deel van de padnaam overtreft 255 karakters, of een hele padnaam overtreft 1023 karakters.
ENOENT Het genoemde bestand bestaat niet.
ENOTDIR
Een deel van het pad-voorvoegsel is geen map.
EPERM Het onderliggende bestandssysteem ondersteund uitbreiding van het bestand boven zijn huidige
grootte niet.
EPERM De operatie werd voorkomen door een bestandszegel; zie fcntl(2).
EROFS Het benoemde bestand verblijft op een alleen-lezen bestandsysteem.
ETXTBSY
Het bestand is een uitvoerbaar bestand dat wordt uitgevoerd.
Voor ftruncate() zijn dezelfde fouten van toepassing, maar in plaats van zaken die fout kunnen gaan met
padnaam, kunnen nu zaken fout gaan met de bestands beschrijving, fd:
EBADF bb is geen geldige bestandsbeschrijving.
EBADF of EINVAL
De bi is niet open voor schrijven.
EINVAL fd refereert niet naar een regulier bestand of naar een POSIX gedeeld geheugen object.
EINVAL of EBADF
De bestands beschrijving fd is niet open voor schrijven. POSIX staat toe, en overdraagbare
applicatie moeten elke fout voor dit geval afhandelen. (Linux produceert EINVAL.)
VOLDOET AAN
POSIX.1-2001, POSIX.1-2008, 4.4BSD, SVr4 (deze functie aanroepen verschenen voor het eerst in BSD 4.2).
OPMERKINGEN
ftruncate() kan ook worden gebruikt om de grootte van een POSIX gedeeld geheugen object in te stellen;
zie shm_open(3).
De details in BESCHRIJVING zijn voor systemen die voldoen aan XSI. Voor systemen die niet voldoen aan XSI
staat de POSIX standaard twee gedragingen toe voor ftruncate() als length de bestandslengte overschrijd
(let op dat truncate() is niet gespecificeerd in die omgeving): ofwel een fout teruggevende ofwel het
bestand uitbreidende. Zoals de meeste UNIX implementaties volgt Linux de XSI eis bij in omgaan met eigen
bestandssystemen. Echter, sommige niet-eigen bestandsystemen staan niet toe om truncate() en ftruncate()
te gebruiken om een bestand uit te breiden boven zijn huidige lengte: een opmerkelijk voorbeeld op Linux
is VFAT.
De originele Linux truncate() en ftruncate() systeem aanroepen waren niet ontworpen om grote bestands
afstanden te behandelen.
Op sommige 32-bit architecturen, verschillen de oproepende signaturen voor deze systeem aanroepen,
vanwege redenen zoals beschreven in syscall(2).
BUGS
Een bug in een kop bestand van glibc 2.12 leidde er toe dat de minimale waarde van _POSIX_C_SOURCE in de
declaratie van ftruncate() moest veranderen van 200809L in plaats van 200112L. Dit is opgelost in latere
versies van glibc.
ZIE OOK
truncate(1), open(2), stat(2), path_resolution(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 6 maart 2019 TRUNCATE(2)