Datei
Eine Datei (englisch file) ist ein Bestand meist inhaltlich zusammengehöriger Daten, der auf einem Datenträger oder Speichermedium gespeichert ist. Diese Daten können somit über die Laufzeit eines Programms hinaus existieren und werden als persistent bezeichnet.
Der deutsche Begriff „Datei“ ist deutlich enger gefasst als die englische Übersetzung file, welche oft auch eine (Papier-)Akte, eine (Papier-)Kartei oder einen Karteikasten beschreibt. Evtl. ist eine Präzisierung auf data file oder computer file notwendig. Der Duden lässt eine Bedeutung von „Datei“ als (Papier-)Sammlung von Informationen zu, diese Verwendung ist heute selten.
Innere Strukturierung
In der elektronischen Datenverarbeitung ist der Inhalt jeder Datei zunächst eine eindimensionale Aneinanderreihung von Bits, die normalerweise in Byte-Blöcken zusammengefasst interpretiert werden. Erst der Anwender einer Datei bzw. ein Anwendungsprogramm oder das Betriebssystem selbst interpretieren diese Bit- oder Bytefolge beispielsweise als einen Text, ein ausführbares Programm, ein Bild oder eine Tonaufzeichnung. Eine Datei besitzt also ein Dateiformat.
Bedeutung und Nutzung
Dateien entstanden aus der Notwendigkeit, dass die Daten bei Programmende nicht verloren gehen dürfen; sie ermöglichen auch einen einfachen Austausch der Daten mit anderen Programmen, Prozessen oder anderen Nutzern. Alternative Methoden zu Datenablage und -austausch sind Datenbanken und zunehmend auch cloudbasierte Speicher, die die Daten meist ebenfalls als Dateien verwalten.
Bei Anwendungsprogrammen werden oft Dateien automatisch beim Start eingelesen (z.B. Voreinstellungen, Konfiguration) und/oder der Nutzer wählt explizit eine zu „ladende“ Datei. Beispielsweise kann ein Text unter einen Namen (der „Dateiname“) in einem Datei-Verwaltungssystem („Dateisystem“) auf einem Datenträger abgelegt sein und durch ein Textverarbeitungsprogramm nach dem Laden durch den Benutzer bearbeitet werden. Wenn der Benutzter den Befehl zur Speicherung auslöst, werden die Daten (hier der Text) in der Datei auf dem Speichermedium aktualisiert und die alte Version damit überschrieben. Mitunter bieten Programme weitere Möglichkeiten im Umgang mit Dateien:
- Das „Speichern als“ dient der Speicherung unter neuem Namen, auf anderem Datenträger oder in einem anderen Dateiformat;
- Datenverlust kann ggf. vermieden werden durch regelmäßige automatische Zwischenspeicherung;
- Warnung beim Beenden des Programms ohne vorheriges Speichern der Daten;
- regelmäßiges automatisches Speichern jeglicher Änderungen in der Cloud;
- gleichzeitiges Bearbeiten der Datei mit anderen Benutzern.
Mitunter können auch Meta-Daten in der Datei selbst einem Datenverlust vorbeugen.
Eine Datei besitzt eine innere Struktur sowie externe Attribute bzgl. ihrer Speicherung. Die innere Struktur – das Datenformat – wird meist allein von dem Programm kontrolliert, welches diese Datei speichert und bearbeitet. Die externen Attribute sind vor allem ein Name, der auch der Verwaltung der Ablage dient, sowie allgemeine Attribute für Dateien beliebigen Typs; diese werden meist von dem Dateisystem als Teil des Betriebssystems kontrolliert. Dateien machen Daten leicht kopierbar und transportabel. Hiermit wird ein Datenaustausch möglich, der unabhängig von den eigentlichen Programmen zur Bearbeitung der Daten ist.
Dateisysteme
Dateien werden in den meisten Betriebssystemen über ein Dateisystem verwaltet. Ein Dateisystem verwaltet das Speichermedium, indem in Listen vermerkt wird, welche Bereiche des Mediums durch welche Dateien belegt sind, welche Bereiche frei sind, sowie oft Protokolle zu geplanten und/oder abgeschlossenen Änderungen.
Obwohl eine Aufgabe des Dateisystems darin besteht, vom konkreten Speichermedium zu abstrahieren („alle gleich zu behandeln“), sind doch viele Dateisysteme an die üblichen technischen Eigenschaften der Speichermedien angepasst (z.B. Blockgröße 512 Byte für Festplatten).
Für die meisten Dateisysteme ist 1 Byte die kleinste Verwaltungseinheit, d.h., die Länge des Dateiinhalt-Bitstroms muss auf ganze Bytes aufgehen (wobei im Allgemeinen auch 0 Byte = 0 Bit erlaubt sind).
Das Dateisystem verwaltet neben Verzeichnissen mit Dateinamen und -speicherort fast immer noch weitere Dateiattribute. Zu diesen gehören häufig der Dateityp (Verzeichnis, normale Datei, spezielle Datei), die Dateigröße (Anzahl der Bytes in der Datei), Schreib- und Leserechte, Zeitstempel („Datum“, der Erzeugung, des letzten Zugriffs und der letzten Änderung) sowie gegebenenfalls noch andere Informationen. Eine Datei kann in vielen Dateisystemen durch ein Attribut als versteckte Datei gekennzeichnet werden.
Die in Dateinamen verwendbaren Zeichen sind abhängig von Dateisystem, Betriebssystem und gegebenenfalls Sprachoptionen. Bei Unix-kompatiblen Dateisystemen dürfen in einem Dateinamen kein Schrägstrich („/“) und kein Nullzeichen stehen, ferner ist die Länge des Dateinamens auf 255 Zeichen begrenzt. Die Zeichen können unterschiedlich codiert sein. Neuere Betriebssysteme unterstützen auch Unicode.
Arten von Dateien
Nach ihrem Inhalt unterscheidet man unter anderem:
- ausführbare
Dateien
- Programme in Maschinensprache
- Programme in Skriptsprachen
- Programme in einem Zwischencode (Bytecode)
- nichtausführbare Dateien
- Programme im Quelltext
- Textdateien
- Audiodateien, zum Beispiel WAV, MIDI, MP3
- Bilddateien
- Datenbankdateien
- Dateiverknüpfung
- allgemein: Binärdateien (z.B. von proprietären Programmen zur Datenspeicherung verwendet)
- …
Moderne Dateisysteme unterstützen auch sogenannte „Sparse-Dateien“: Nur tatsächlich mit Daten gefüllte Abschnitte einer (großen) Datei werden tatsächlich gespeichert; die dazwischen liegenden „freien Bereiche“ werden nicht gespeichert und als „mit Null-Bytes gefüllt“ angenommen/bewertet.
Manche Dateisysteme bieten ferner an, Dateien transparent zu komprimieren oder zu verschlüsseln („transparent“: Das lesende/bearbeitende Programm kann die Datei normal verwenden, als ob die Datei nicht komprimiert/verschlüsselt wäre – es „sieht durch diesen Vorgang ungestört hindurch“).
Unter manchen Betriebssystemen werden auch
- Verzeichnisse
- spezielle Dateien (Pseudodateien)
- Gerätedateien, zum Beispiel /dev/printer, /dev/mouse
- Prozessinformationen, zum Beispiel /proc/68/environ
wie Dateien gehandhabt (vor allem Betriebssysteme der Unix-Familie).
Möglichkeiten, das Dateiformat zu kennzeichnen, beinhalten
- eine Kennzeichnung durch das Dateisystem (beispielsweise ein Ausführbarkeits-Flag)
- eine Kennzeichnung innerhalb der Daten (beispielsweise
<?xml version="1.0"
am Anfang, siehe auch MIME-Typ, Magische Zahl) - eine Kennzeichnung im Dateinamen bzw. als Dateinamenserweiterung (beispielsweise .jpg, .txt)
- Speicherung in bestimmten Verzeichnissen (beispielsweise /usr/share/doc oder C:\Users\Public\)
- eine Resource Fork und andere Metainformationen (beispielsweise beim klassischen Mac OS)
Eine solche Kennzeichnung ist teilweise obligatorisch, teilweise dient sie lediglich der Orientierung des Benutzers. Oft fehlen Kennzeichnungen jeder Art; für solche Situationen gibt es spezielle Programme, die den Typ einer Datei zu bestimmen versuchen. Im Unix-Umfeld ist dafür z.B. der Befehl file sehr verbreitet.
Symbolische Darstellung
In grafischen Dateimanagern wie Finder, Windows-Explorer, Nautilus oder Dolphin werden Dateien gewöhnlich als Liste oder Symbole auf einem Arbeitsblatt (Fenster, Ordner u.a.) dargestellt.
© biancahoegel.de
Datum der letzten Änderung: Jena, den: 22.02. 2023