Auf den meisten modernen Betriebssystemen sind Dateien in eindimensionale Byte-Arrays organisiert. Das Format einer Datei wird durch ihren Inhalt definiert, da eine Datei nur ein Container für Daten ist, obwohl auf einigen Plattformen das Format normalerweise durch die Dateinamenerweiterung angegeben wird, in der die Regeln für die Organisation und Interpretation der Bytes angegeben sind sinnvoll. Zum Beispiel die Bytes einer Nur-Text-Datei (.txt in Windows) sind entweder ASCII-oder UTF-8-Zeichen zugeordnet, während die Bytes von Bild -, Video-und Audiodateien anders interpretiert werden., Die meisten Dateitypen weisen auch einige Bytes für Metadaten zu, sodass eine Datei einige grundlegende Informationen über sich selbst enthält.
Einige Dateisysteme können beliebige (vom Dateisystem nicht interpretierte) dateispezifische Daten außerhalb des Dateiformats speichern, jedoch mit der Datei verknüpft sein, z. B. erweiterte Attribute oder Gabeln. Auf anderen Dateisystemen kann dies über Sidecar-Dateien oder softwarespezifische Datenbanken erfolgen. Alle diese Methoden sind jedoch anfälliger für den Verlust von Metadaten als Container-und Archivdateiformate.,
File sizeEdit
Zu jedem Zeitpunkt kann eine Datei eine Größe haben, die normalerweise als Anzahl von Bytes ausgedrückt wird und angibt, wie viel Speicherplatz der Datei zugeordnet ist. In den meisten modernen Betriebssystemen kann die Größe eine beliebige nicht negative ganze Anzahl von Bytes bis zu einem Systemlimit sein., Viele ältere Betriebssysteme verfolgten nur die Anzahl der Blöcke oder Spuren, die von einer Datei auf einem physischen Speichergerät belegt wurden. In solchen Systemen verwendete die Software andere Methoden, um die genaue Bytezahl zu verfolgen (z. B. verwendete CP / M ein spezielles Steuerzeichen, Strg-Z, um das Ende von Textdateien zu signalisieren).
Die allgemeine Definition einer Datei erfordert jedoch keine wirkliche Bedeutung ihrer Größe, es sei denn, die Daten in der Datei entsprechen zufällig Daten in einem Pool persistenter Speicherung., Ein Sonderfall ist eine Null-Byte-Datei; Diese Dateien können neu erstellte Dateien sein, in die noch keine Daten geschrieben wurden, oder als eine Art Flag im Dateisystem dienen oder Unfälle sind (die Ergebnisse abgebrochener Festplattenvorgänge). Zum Beispiel hat die Datei, auf die der Link /bin/ls in einem typischen Unix-ähnlichen System zeigt, wahrscheinlich eine definierte Größe, die sich selten ändert. Vergleichen Sie dies mit /dev / null, das auch eine Datei ist, aber als Zeichenspezialdatei ist ihre Größe nicht sinnvoll.,
Organisation von Daten in einer Dateiedit
Informationen in einer Computerdatei können aus kleineren Informationspaketen (oft als „Datensätze“ oder „Zeilen“ bezeichnet) bestehen, die einzeln unterschiedlich sind, jedoch einige gemeinsame Merkmale aufweisen., Zum Beispiel kann eine Gehaltsabrechnungsdatei Informationen über alle Mitarbeiter in einem Unternehmen und ihre Gehaltsabrechnungsdetails enthalten; Jeder Datensatz in der Gehaltsabrechnungsdatei betrifft nur einen Mitarbeiter, und alle Datensätze haben das gemeinsame Merkmal, mit der Gehaltsabrechnung in Verbindung zu stehen—dies ähnelt sehr der Platzierung aller Gehaltsabrechnungsinformationen in einem bestimmten Aktenschrank in einem Büro, das keinen Computer hat. Eine Textdatei kann Textzeilen enthalten, die gedruckten Zeilen auf einem Blatt Papier entsprechen. Alternativ kann eine Datei ein beliebiges Binärbild (ein Blob) oder eine ausführbare Datei enthalten.,
Die Art und Weise, wie Informationen in eine Datei gruppiert werden, hängt ganz davon ab, wie sie gestaltet sind. Dies hat zu einer Fülle von mehr oder weniger standardisierten Dateistrukturen für alle erdenklichen Zwecke geführt, von den einfachsten bis zu den komplexesten. Die meisten Computerdateien werden von Computerprogrammen verwendet, die die Dateien nach Bedarf für den eigenen Gebrauch erstellen, ändern oder löschen. Die Programmierer, die die Programme erstellen, entscheiden, welche Dateien benötigt werden, wie sie verwendet werden sollen und (oft) ihre Namen.
In einigen Fällen manipulieren Computerprogramme Dateien, die für den Computerbenutzer sichtbar gemacht werden., Beispielsweise manipuliert der Benutzer in einem Textverarbeitungsprogramm Dokumentdateien, die der Benutzer persönlich benennt. Obwohl der Inhalt der Dokumentdatei in einem Format angeordnet ist, das das Textverarbeitungsprogramm versteht, kann der Benutzer den Namen und den Speicherort der Datei auswählen und den Großteil der Informationen (z. B. Wörter und Text) bereitstellen, die in der Datei gespeichert werden.
Viele Anwendungen packen alle ihre Datendateien in eine einzelne Datei, die als Archivdatei bezeichnet wird, und verwenden interne Markierungen, um die verschiedenen darin enthaltenen Informationstypen zu erkennen., Die Vorteile der Archivdatei bestehen darin, die Anzahl der Dateien zu verringern, um die Übertragung zu erleichtern, die Speichernutzung zu reduzieren oder veraltete Dateien zu organisieren. Die Archivdatei muss oft vor der nächsten Verwendung entpackt werden.,
OperationsEdit
Die grundlegendsten Operationen, die Programme an einer Datei ausführen können, sind:
- Erstellen Sie eine neue Datei
- Ändern Sie die Zugriffsberechtigungen und Attribute einer Datei
- Öffnen Sie eine Datei, wodurch der Dateiinhalt dem Programm zur Verfügung steht
- Lesen Sie Daten aus einer Datei
- Schreiben Sie Daten in eine Datei
- Löschen Sie eine Datei
- Schließen Sie beenden der Zuordnung zwischen ihm und dem Programm
Dateien auf einem Computer können erstellt, verschoben, geändert, vergrößert, verkleinert (abgeschnitten) und gelöscht werden., In den meisten Fällen verarbeiten Computerprogramme, die auf dem Computer ausgeführt werden, diese Vorgänge, aber der Benutzer eines Computers kann bei Bedarf auch Dateien bearbeiten. Beispielsweise werden Microsoft Word-Dateien normalerweise vom Microsoft Word-Programm als Antwort auf Benutzerbefehle erstellt und geändert, der Benutzer kann diese Dateien jedoch auch direkt verschieben, umbenennen oder löschen, indem er ein Dateimanagerprogramm wie Windows Explorer (auf Windows-Computern) verwendet) oder über Befehlszeilen (CLI).
In Unix-ähnlichen Systemen arbeiten User Space-Programme nicht direkt, auf niedriger Ebene, auf einer Datei., Nur der Kernel befasst sich mit Dateien, und es behandelt alle User-Space-Interaktion mit Dateien in einer Weise, die für die User-Space-Programme transparent ist. Das Betriebssystem bietet eine Abstraktionsebene, was bedeutet, dass die Interaktion mit einer Datei aus dem Benutzerbereich einfach über ihren Dateinamen erfolgt (anstelle des Inodes). Beispielsweise löscht rm filename nicht die Datei selbst, sondern nur einen Link zur Datei. Es kann viele Links zu einer Datei geben, aber wenn sie alle entfernt werden, betrachtet der Kernel den freien Speicherplatz dieser Datei als neu zugewiesen., Dieser freie Speicherplatz wird allgemein als Sicherheitsrisiko angesehen (aufgrund der Existenz von Dateiwiederherstellungssoftware). Jedes Programm zum sicheren Löschen verwendet Kernel-Space (System) – Funktionen, um die Daten der Datei zu löschen.
Dateibewegungen innerhalb eines Dateisystems werden fast sofort abgeschlossen, da der Dateninhalt nicht neu geschrieben werden muss. Nur die Pfade müssen geändert werden.
Verschieben von Methodenedit
Es gibt zwei verschiedene Implementierungen von Dateibewegungen.,
Beim Verschieben von Dateien zwischen Geräten oder Partitionen löscht eine Dateiverwaltungssoftware jede ausgewählte Datei nach der Übertragung einzeln aus dem Quellverzeichnis, während eine andere Software alle Dateien auf einmal löscht‘ erst nachdem jede Datei übertragen wurde.
Mit dem Befehl mv
zum Beispiel wird die erstere Methode bei der Auswahl von Dateien einzeln verwendet, möglicherweise unter Verwendung von Platzhaltern (Beispiel: mv -n sourcePath/* targetPath
, während die letztere Methode bei der Auswahl ganzer Verzeichnisse verwendet wird (Beispiel: mv -n sourcePath targetPath
)., Microsoft Windows Explorer verwendet die frühere Methode für Massenspeicherdateiversionen, die letztere Methode jedoch unter Verwendung des Medienübertragungsprotokolls, wie unter Medienübertragungsprotokoll § Dateibewegungsverhalten beschrieben.
Die frühere Methode (individuelles Löschen aus der Quelle) hat den Vorteil, dass Speicherplatz unmittelbar nach Beginn der Übertragung vom Quellgerät oder der Partition freigegeben wird, dh nach Abschluss der ersten Datei. Bei letzterer Methode wird erst nach Abschluss der Übertragung der gesamten Auswahl Platz frei.,
Wenn eine unvollständige Dateiübertragung mit der letzteren Methode unerwartet abgebrochen wird, möglicherweise aufgrund einer unerwarteten Abschaltung, eines Systemstopps oder einer Unterbrechung eines Geräts, wurde auf dem Quellgerät oder der Partition kein Speicherplatz freigegeben. Der Benutzer müsste die verbleibenden Dateien aus der Quelle zusammenführen, einschließlich der unvollständig geschriebenen (abgeschnittenen) letzten Datei.
Mit der individuellen Löschmethode muss die Dateibewegungssoftware auch nicht kumulativ alle Dateien verfolgen, die übertragen wurden, falls ein Benutzer die Dateiübertragung manuell abbricht., Ein Dateimanager, der die letztere Methode verwendet (nach dem Löschen), muss nur die Dateien aus dem Quellverzeichnis löschen, die bereits übertragen wurden.