pathname(7)

BEZEICHNUNG
pathname, filename - Wie Pfadnamen kodiert und interpretiert werden

BESCHREIBUNG
Einige Systemaufrufe ermöglichen Ihnen, einen Pfadnamen als Parameter zu übergeben. Beim Schreiben von Code, der mit Pfadnamen umgeht, gibt es vom Kernel Anforderungen, denen Sie folgen müssen und Anforderungen aus dem Anwendungsraum, denen Sie folgen sollten.

Der Kernel speichert Pfadnamen als C-Zeichenketten, das heißt eine Abfolge von Bytes, die nicht Null sind, abgeschlossen von einem Null-Byte. Es gibt ein paar allgemeine Regeln, die für alle Pfadnamen gelten:

•   Das letzte Byte in der Abfolge muss ein Null-Byte sein.

•   Alle anderen Byte in der Abfolge dürfen keine Null-Byte sein.

•   Ein 0x2F-Byte (»/«) wird immer als Verzeichnistrenner interpretiert und kann kein Teil eines Dateinamens sein.

•   Ein Pfadname darf höchstens PATH_MAX byte lang sein (siehe limits.h(0p)). Ein Pfadname, der länger als PATH_MAX byte ist, kann in mehrere kürzere Pfadnamen aufgetrennt werden und stückchenweise mittels openat(2) geöffnet werden.

•   Ein Dateiname darf höchstens eine bestimmte Anzahl an Byte lang sein. Diese Zahl hängt vom Dateisystem ab (siehe _PC_NAME_MAX in fpathconf(3)). Zur maximalen Portabilität sollten Programme in der Lage sein, mit Pfadnamen umzugehen, die so lang sind, wie die relevanten Dateisysteme es erlauben. Für maximale Portabilität sollten Programme und Benutzer die Länge ihrer eigenen Pfadnamen auf NAME_MAX byte begrenzen (siehe limits.h(0p)).

Einige Dateisysteme oder API könnten weitere Beschränkungen auferlegen, wie die Notwendigkeit kürzerer Dateinamen oder der Beschränkung der erlaubten Byte in einem Dateinamen.

Zur maximalen Portabilität sollten Programme und Benutzer auch die Zeichen, die sie für ihre eigenen Pfadnamen verwenden, auf die Zeichen in POSIX Portable Filename Character Set (https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap03.html#tag_03_265) beschränken.

VERSIONEN
POSIX.1-2024 ermutigt Implementierungen, die Erstellung von Dateinamen mit Zeilenumbruchzeichen im Namen zu verbieten. Linux folgt dem nicht und erlaubt die Verwendung von Zeilenumbruchzeichen.

SIEHE AUCH
limits.h(0p), open(2), fpathconf(3), path_resolution(7), mount(8)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).