.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1983, 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)truncate.2 6.9 (Berkeley) 3/10/91 .\" .\" Modified 1993-07-24 by Rik Faith .\" Modified 1996-10-22 by Eric S. Raymond .\" Modified 1998-12-21 by Andries Brouwer .\" Modified 2002-01-07 by Michael Kerrisk .\" Modified 2002-04-06 by Andries Brouwer .\" Modified 2004-06-23 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH truncate 2 "30. März 2023" "Linux man\-pages 6.05.01" .SH BEZEICHNUNG truncate, ftruncate \- eine Datei auf eine bestimmte Länge verkürzen .SH BIBLIOTHEK Standard\-C\-Bibliothek (\fIlibc\fP, \fI\-lc\fP) .SH ÜBERSICHT .nf \fB#include \fP .PP \fBint truncate(const char *\fP\fIPfad\fP\fB, off_t \fP\fILänge\fP\fB);\fP \fBint ftruncate(int \fP\fIdd\fP\fB, off_t \fP\fILänge\fP\fB);\fP .fi .PP .RS -4 Mit Glibc erforderliche Feature\-Test\-Makros (siehe \fBfeature_test_macros\fP(7)): .RE .PP Für \fBtruncate\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* Seit Glibc 2.12: */ _POSIX_C_SOURCE >= 200809L || /* Glibc <= 2.19: */ _BSD_SOURCE .fi .PP Für \fBftruncate\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* Seit Glibc 2.3.5: */ _POSIX_C_SOURCE >= 200112L || /* Glibc <= 2.19: */ _BSD_SOURCE .fi .SH BESCHREIBUNG Die Funktionen \fBtruncate\fP() und \fBftruncate\fP() bewirken, dass die reguläre Datei, die durch \fIPfad\fP oder \fIdd\fP angegeben ist, auf eine Größe von exakt \fILänge\fP Byte verkürzt wird. .PP Falls die Datei vorher größer war, geht ein Teil der Daten verloren. Falls die Datei vorher kleiner war, wird sie vergrößert und der zusätzliche Teil wird als Nullbytes (»\e0«) gelesen. .PP Der Datei\-Offset wird nicht geändert. .PP Wenn die Größe geändert wurde, werden die Felder st_ctime und st_mtime (die Zeit der letzten Zustandsänderung und die Zeit der Modifikation; siehe \fBinode\fP(7)) für die Datei aktualisiert; die Modus\-Bits Set\-User\-ID und Set\-Group\-ID können gelöscht werden. .PP Für \fBftruncate\fP() muss die Datei zum Schreiben geöffnet sein, für \fBtruncate\fP() muss die Datei schreibbar sein. .SH RÜCKGABEWERT Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird \-1 zurückgegeben und \fIerrno\fP gesetzt, um den Fehler anzuzeigen. .SH FEHLER Für \fBtruncate\fP(): .TP \fBEACCES\fP Eine Komponente des Pfad\-Präfix darf nicht durchsucht werden oder die benannte Datei kann vom Benutzer nicht geschrieben werden (siehe auch \fBpath_resolution\fP(7).) .TP \fBEFAULT\fP Das Argument \fIPfad\fP zeigt aus dem dem Prozess zugewiesenen Adressraum heraus. .TP \fBEFBIG\fP Das Argument \fILänge\fP ist größer als die maximale Dateigröße. (XSI) .TP \fBEINTR\fP Der Aufruf wurde von einem Signal\-Handler unterbrochen, während er auf den Abschluss wartete (siehe \fBfcntl\fP(2) und \fBsignal\fP(7)). .TP \fBEINVAL\fP Das Argument \fILänge\fP ist negativ oder größer als die maximale Dateigröße. .TP \fBEIO\fP Bei der Aktualisierung des Inodes trat ein E/A\-Fehler auf. .TP \fBEISDIR\fP Die angegebene Datei ist ein Verzeichnis. .TP \fBELOOP\fP Beim Übersetzen des Pfadnamens wurden zu viele symbolische Links vorgefunden. .TP \fBENAMETOOLONG\fP Ein Teil eines Pfades ist größer als 255 Zeichen oder ein kompletter Pfadname überschreitet eine Größe von 1023 Zeichen. .TP \fBENOENT\fP Die angegebene Datei existiert nicht. .TP \fBENOTDIR\fP Eine Komponente des Pfad\-Präfixes ist kein Verzeichnis. .TP \fBEPERM\fP .\" This happens for at least MSDOS and VFAT filesystems .\" on kernel 2.6.13 Das unterliegende Dateisystem erlaubt keine Vergrößerung der Datei über ihre aktuelle Größe hinaus. .TP \fBEPERM\fP Die Aktion wurde durch eine Dateiversiegelung verhindert; siehe \fBfcntl\fP(2). .TP \fBEROFS\fP Die angegebene Datei befindet sich auf einem nur lesbaren (read\-only) Dateisystem. .TP \fBETXTBSY\fP Die Datei ist eine ausführbare Datei, die ausgeführt wird. .PP Für \fBftruncate\fP() gelten die gleichen Fehlermeldungen. Anstelle von Dingen, die mit \fIPfad\fP schieflaufen können, gibt es jetzt Dinge, die mit dem Dateideskriptor \fIdd\fP schiefgehen können: .TP \fBEBADF\fP \fIdd\fP ist kein zulässiger Dateideskriptor. .TP \fBEBADF\fP oder \fBEINVAL\fP \fIdd\fP ist nicht zum Schreiben geöffnet. .TP \fBEINVAL\fP \fIdd\fP referenziert keine reguläre Datei oder ein gemeinsam benutztes POSIX\-Speicherobjekt. .TP \fBEINVAL\fP oder \fBEBADF\fP Der Dateideskriptor \fIdd\fP ist nicht zum Schreiben offen. POSIX erlaubt beide Fehler für diesen Fall und portable Anwendungen sollten damit umgehen können. (Linux erzeugt \fBEINVAL\fP.) .SH VERSIONEN .\" At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002 Die BESCHREIBUNG oben ist für XSI\-konforme Systeme gedacht. Für nicht XSI\-konforme Systeme erlaubt der POSIX\-Standard zweierlei Verhalten von \fBftruncate\fP, wenn \fILänge\fP größer ist als die Dateilänge (beachten Sie, dass \fBtruncate\fP für eine derartige Umgebung nicht spezifiziert ist): entweder wird ein Fehler zurückgeliefert oder die Datei wird vergrößert. Wie die meisten Unix\-Implementierungen folgt Linux der XSI\-Forderung, wenn es sich mit nativen Dateisystemen befasst. Aber einige nicht native Dateisysteme gestatten die Verwendung von \fBtruncate\fP() und \fBftruncate\fP() nicht, um eine Datei über ihre aktuelle Größe hinweg zu erweitern. Ein namhaftes Beispiel für Linux ist VFAT. .PP Auf einigen 32\-Bit\-Architekturen unterscheidet sich die Aufrufsignatur dieser Systemaufrufe. Die Gründe sind in \fBsyscall\fP(2) beschrieben. .SH STANDARDS POSIX.1\-2008. .SH GESCHICHTE .\" POSIX.1-1996 has .\" .BR ftruncate (). .\" POSIX.1-2001 also has .\" .BR truncate (), .\" as an XSI extension. .\" .LP .\" SVr4 documents additional .\" .BR truncate () .\" error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK. SVr4 documents for .\" .BR ftruncate () .\" an additional EAGAIN error condition. POSIX.1\-2001, 4.4BSD, SVr4 (erschien zuerst in 4.2BSD). .PP Die ursprünglichen Linux\-Systemaufrufe \fBtruncate\fP() und \fBftruncate\fP() wurden nicht entwickelt, um große Datei\-Offsets zu behandeln. Folglich fügte Linux 2.4 die Systemaufrufe \fBtruncate64\fP() und \fBftruncate64\fP() für die Bearbeitung sehr großer Dateien hinzu. Allerdings können diese Details von Anwendungen ignoriert werden, welche die Glibc nutzen. Deren Wrapper\-Funktionen verwenden die neueren Systemaufrufe transparent, wenn diese verfügbar sind. .SH ANMERKUNGEN \fBftruncate\fP() kann auch dazu verwandt werden, die Größe eines gemeinsam benutzten POSIX\-Speicherobjektes zu setzen; siehe \fBshm_open\fP(3). .SH FEHLER .\" http://sourceware.org/bugzilla/show_bug.cgi?id=12037 Ein Fehler der Header\-Dateien von Glibc 2.12 hatte zur Folge, dass der erforderliche Minimalwert von \fB_POSIX_C_SOURCE\fP zur Bereitstellung der Deklaration von \fBftruncate\fP() 200809L war anstatt 200112L. Der Fehler ist in späteren Versionen der Glibc behoben. .SH "SIEHE AUCH" \fBtruncate\fP(1), \fBopen\fP(2), \fBstat\fP(2), \fBpath_resolution\fP(7) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Dennis Stampfer , Martin Eberhard Schauer , Helge Kreutzmann und Mario Blättermann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .