Dateiname
aus Wikipedia, der freien Enzyklopädie
Ein Dateiname identifiziert eine Datei auf einem Datenträger oder bei einer Datenübertragung. Meist wird eine Datei zusätzlich durch einen Verzeichnisnamen charakterisiert.
Ein Dateiname kann - abhängig vom jeweiligen Betriebssystem - aus mehreren Teilen bestehen. Die einzelnen Teile sind durch bestimmte Zeichen, die in der Regel nicht Teil des Dateinamens sein können, getrennt.
Die maximale Länge eines Dateinamens wird sowohl durch das Betriebssystem als auch durch das Dateisystem des Datenträgers begrenzt. So können etwa auf einer CD-ROM bei Verwendung des Joliet Dateisystems maximal 64 Zeichen genutzt werden.
Einige Betriebssysteme machen den Typ einer Datei von der Dateiendung abhängig, andere arbeiten ohne diese Konvention.
Ein Unterschied zwischen MS Windows und Linux/Unix besteht darin, dass Windows bei Dateinamen nicht zwischen Groß- und Kleinschreibung unterscheidet, während Unix dies tut (z.B. bezeichnen dort Haustür.txt und hausTür.txt unterschiedliche Dateien).
Inhaltsverzeichnis |
[Bearbeiten] Dateisysteme
Dateisystem | typische Anwendung | max. Anzahl Zeichen in einem Namen | Zeichensatz |
---|---|---|---|
VFAT | Festplatten, Speicherkarten | 255 | Unicode |
NTFS | Festplatten | 255 | Unicode |
ext3 und viele andere Unix-Dateisysteme | Festplatten | 255 (²) | Unicode (³) |
HFS plus | Festplatten | 255 | Unicode |
ISO 9660 Level 2 | CD, DVD | 31 | ASCII |
Joliet | CD, DVD | 64 | Unicode |
UDF | CD, DVD | 255 | Unicode |
- (²) Bei Verwendung von UTF-8 Codierung und Benutzung von nicht-ASCII Zeichen stehen weniger als 255 Zeichen zur Verfügung
- (³) Die Codierung ist nicht genormt; als Default wird meist UTF-8 verwendet.
[Bearbeiten] Betriebssysteme
[Bearbeiten] Unix
Unix- und Unix-ähnliche Betriebssysteme wie z.B. Solaris oder Linux kennen nur einen Dateinamen. Alle Zeichen außer / und dem Nullzeichen sind erlaubt. Frühe Versionen hatten 1 bis 14 Zeichen lange Dateinamen. Die BSD-Varianten führten bis zu 255 Zeichen lange Namen ein.
Ein vollständiger Dateiname besteht aus mehreren Komponenten, den Pfadnamen. Jeder Pfadname unterliegt den Regeln des Dateinamens, kann also 14 bzw. 255 Zeichen lang sein. Die Pfadnamen werden durch das Zeichen / getrennt. Der letzte Name kennzeichnet die eigentliche Datei. Die vorhergehenden Pfadnamen sind entweder Verzeichnisnamen oder symbolische Verweise (symbolic links) auf Verzeichnisnamen.
Beim Zugriff wird zwischen Groß- und Kleinschreibung unterschieden.
Beispiele:
/home/user/Dokumente/brief.txt /usr/bin/texteditor
Beginnt ein vollständiger Dateiname mit dem Zeichen /, so wird das Wurzelverzeichnis als Startverzeichnis bei der Suche verwendet. Andernfalls wird zur Vereinfachung das aktuelle Arbeitsverzeichnis verwendet, das jeder Prozess individuell setzen kann. Über das Wurzelverzeichnis sind alle Dateien eines Systems erreichbar.
Der Dateiname '.' (Punkt) bezeichnet das aktuelle Arbeitsverzeichnis. Der Name '..' verweist auf das übergeordnete Verzeichnis.
Auch das Leerzeichen, der Zeilentrenner oder die so genannten Wildcards '*' und '?' können Teil eines Pfadnamens sein. Solche Zeichen bringen allerdings häufig später Probleme mit sich, da z. B. viele Skripte damit nicht umgehen können.
Ein Unix-System verwendet keine speziellen Erweiterungen, wie .EXE oder .CMD. Es hat sich allerdings eingebürgert, Dateien eines bestimmten Types, wie in anderen Betriebssystemen, auch mit einem Punkt und einer entsprechenden Erweiterung zu versehen, um die Übersichtlichkeit zu erhöhen. Beispielsweise wird die Endung .c für C-Quellprogramme verwendet. Ausführbare Dateien, also Programme und Skripte, erhalten keine Endung.
Dateien, deren Namen mit einem Punkt beginnen, werden üblicherweise als "versteckte" Dateien behandelt und normalerweise nicht mit angezeigt.
[Bearbeiten] Windows (ab Version 95)
Unter Windows (Windows 95, 98, ME, NT, 2000, XP, Vista) besteht ein Dateiname aus dem Namen, einem Punkt und einer Erweiterung, die den Dateityp festlegt. Es können auch mehrere Punkte in einem Dateinamen angegeben werden, der letzte Punkt dient dann zur Trennung von Name und Erweiterung.
Die Länge des Dateinamens kann inklusive des Dateipfades - aller Verzeichnisnamen samt trennender Schrägstriche z.B. '\Dokumente\Texte\Privat\Brief.doc' - höchstens 255 Zeichen lang sein ('Lange Dateinamen'), per default ist aber z.B. unter Windows 2003 die Länge auf 248 Zeichen begrenzt -- anscheinend einschließlich Laufwerk ("D:\...") und abschließendem String-Terminierungszeichen (das man nicht sieht). Zur Wahrung der Kompatibilität mit alten MS-DOS Programmen kann der Dateiname auch in der so genannten 8.3-Notation angegeben werden. Dabei wird der Dateiname eindeutig mit acht Zeichen für den Namen, einem Punkt und bis zu drei Zeichen für die Dateierweiterung dargestellt.
Für Dateinamen sind folgende Zeichen nicht erlaubt: < > ? " : | \ / *
Ansonsten können alle im Unicode Standard definierten Zeichen benutzt werden, wobei in der Praxis ältere Applikationen oft mit Zeichen, deren Code nicht im Windows-1252 Zeichensatz enthalten ist, Schwierigkeiten haben.
Zusätzlich sind auch Dateinamen problematisch, die am Ende ein Leerzeichen haben: diese kann man unter Windows nicht anlegen; werden sie unter anderen Betriebssystemen erstellt, kann man auf sie unter Windows nicht zugreifen, da Windows meint, die Leerzeichen am Ende einfach wegschneiden zu müssen. Autoren von Schadprogrammen haben dies bereits ausgenutzt, da nichtmal Virenprogramme auf solche Dateien zugreifen können.
[Bearbeiten] CP/M, MS-DOS, Windows bis Version 3.11
Ein Dateiname unter CP/M, MS-DOS (und MS-Windows bis zur Version 3.11) besteht aus einem Namen, der aus maximal acht Zeichen besteht, und optional einem Punkt und maximal drei Zeichen Erweiterung, die auch den Typ der Datei angibt (siehe 8.3).
Erweiterungen werden oft von Programmen reserviert. .TXT wird beispielsweise für Textdateien verwendet. Das System selbst verwendet spezielle Erweiterungen wie .BAT für Skriptdateien und .EXE oder .COM für ausführbare Dateien.
Verzeichnisse sind normale Dateinamen. Sie haben üblicherweise keine Erweiterung, können aber eine haben, die dann keine besondere Funktion (wie bei den Dateien den Typ angeben) hat. Jede Datei und jedes Verzeichnis befindet sich auf einem Laufwerk, das durch eine Buchstaben und einen Doppelpunkt gekennzeichnet wird. Ein vollständiger Name besteht aus dem Laufwerk, optional einem oder mehreren Verzeichnisnamen und dem eigentlichen Dateinamen, die durch \ getrennt werden.
A:\MSDOS.SYS C:\DOKUMENT\BRIEF.TXT
Da nur acht Zeichen zur Verfügung stehen, werden die Bezeichnungen oft verstümmelt. Die Namen '.' und '..' sind wie unter Unix für das aktuelle Verzeichnis und das übergeordnete Verzeichnis reserviert.
Beim Zugriff wird nicht zwischen Groß- und Kleinschreibung unterschieden.
[Bearbeiten] VMS
Unter VMS (Virtual Memory System) besteht ein Dateiname aus dem Name, einem Punkt, einer Erweiterung, einem Semikolon und einer Versionsnummer. Die Versionsnummer wird nach jeder Veränderung der Datei um Eins erhöht. Dadurch kann man mehrere Versionen (Anzahl ist einstellbar) derselben Datei gleichzeitig halten.
Dateinamen können bis zu 32 Zeichen lang sein, wobei nur bestimmte Zeichen (Buchstaben, Ziffern, Unterstrich, Dollarzeichen) erlaubt sind. Es wird nicht zwischen Groß- und Kleinschreibung unterschieden. Die Erweiterung kann bis zu vier Zeichen umfassen. Sie wird durch einen Punkt getrennt und ist nicht Teil des Dateinamens. Die spezielle Erweiterung .DIR kennzeichnet Verzeichnisse.
[Bearbeiten] Internet
[Bearbeiten] World Wide Web
Die Übertragung von Dateien im World Wide Web ist durch den HTTP Standard geregelt. Enthält ein Dateiname Zeichen außerhalb der ASCII Buchstaben und Ziffern, so werden diese in der URL in einer %-Darstellung codiert mit einem Prozentzeichen, gefolgt von einem Zwei-Zeichen-Code in hexadezimaler Form, etwa "haust%FCr.html" statt "haustür.html". Um den Code ermitteln zu können, ist die Kenntnis der Zeichencodierung (z.B. UTF-8 oder ISO 8859-1) des Dateinamens nötig.
[Bearbeiten] Dateidownload (FTP)
Der FTP Standard sieht nur ASCII Zeichen als zwingend unterstützt vor. Oft wird ein Dateidownload allerdings auch unter Benutzung des HTTP Protokolls durchgeführt.
[Bearbeiten] E-Mail
Die Übertragung von Dateianhängen (und damit auch die dort zulässigen Dateinamen) ist in den Standards SMTP und MIME geregelt.