(Ich verwende Windows XP, aber ich denke, es ist in allen neueren Windows-Versionen ähnlich.)
Wenn Sie beispielsweise ein neues leeres Textdokument erstellen , finden Sie in seinen Eigenschaften eine Größe von 0 Byte. Null Bytes bedeuten keine Informationen . Keine Daten.
Trotzdem hat die Datei einen Namen und kann die Daten des letzten Zugriffs, der Änderung und der Erstellung enthalten. Es enthält die Informationen, ob es sich um eine versteckte Datei handelt oder nicht, ob es schreibgeschützt ist oder nicht ...
Wo werden also alle Metadaten gespeichert?
windows
file-management
metadata
Jeyekomon
quelle
quelle
Antworten:
Sie haben gelernt, dass Festplatten Dateien enthalten, aber das ist nicht die ganze Wahrheit. Tatsächlich enthalten Festplatten eine sehr, sehr große Zahl, die durch viele einzelne Bits ausgedrückt wird. Aber diese Interpretation macht weder für Sie noch für Ihren Computer Sinn, da die Verarbeitung einzelner großer Zahlen nicht sehr häufig ist (und ich spreche von WIRKLICH RIESIGEN Zahlen). Stattdessen teilt der Computer es in kleinere "Wörter" (8-Bit, 16-Bit, 32-Bit oder was auch immer) auf und verwendet es so. Trotzdem sind das nur ein paar Wörter (nehmen wir 8-Bit-Wörter an, dh Bytes).
Dieses Laufwerk ist jetzt partitioniert. Ich habe in dieser Antwort erklärt, warum Partitionierung eine gute Idee ist :
Jetzt hat jede Partition ein eigenes Dateisystem. Moderne Windows-Versionen verwenden NTFS , aber FAT , FAT32 und exFAT werden für externe Medien oder ältere Partitionen unterstützt. Bei alltäglichen Linux-Installationen werden normalerweise ext- Dateisysteme verwendet, wobei ext4 das neueste ist.
Das Dateisystem definiert, wie sich Dateien physisch auf der Festplatte befinden. Sie können sich das so vorstellen: Wenn Sie ein Buch mit 10000 Seiten ohne Kapitel, Seitenzahlen oder Zeilenumbrüche hätten, wäre es sehr schwer zu verwenden. Natürlich nehmen Seitenzahlen und Kapitelüberschriften etwas Platz auf der Seite ein, aber sie machen die Verwendung des Buches viel einfacher und schneller. Wenn Sie zum Kapitel springen möchten, sagen wir 42, schauen Sie einfach im Inhaltsverzeichnis nach. Dann blättern Sie im Buch, bis Sie das gewünschte Kapitel gefunden haben. Ihre Dateien sind Kapitel und Ihr Dateisystem ist das Buch. Dateisystem-Metadaten wie Dateigrenzen, Dateinamen usw. beanspruchen ebenfalls Speicherplatz, sind jedoch vergleichsweise klein und sorgen für eine viel schnellere Arbeitsweise.
Wenn Ihr "Kapitel" leer ist, kann es dennoch eine Überschrift oder eine Seitenzahl haben, oder? Die leere Datei enthält null Datenbytes. Metadaten beanspruchen Speicherplatz, sind jedoch nicht Teil der Datei, sondern des Dateisystems. Andernfalls würden Sie Dateinamen in Ihren Textdateien sehen?
Aus diesem Grund akzeptierten frühe Versionen von DOS nur 8.3 Namen - der für Dateinamen reservierte Speicherplatz war sehr begrenzt. NTFS erlaubt Dateinamen mit einer Länge von 255 Zeichen [1] .
Nur noch ein Wort zu Ihrem Kommentar:
Dank einer Funktion namens " Sparse Files" ist es durchaus möglich, gültige Dateien zu haben, die größer als Ihre Festplatte sind . Hennes hat eine ausgezeichnete Erklärung dafür in seinem Kommentar zu dieser Frage :
quelle
Ich habe heute gerade etwas über Windows Alternate Data Streams (ADS) erfahren. Dies ist eine versteckte Ressourcengabel, die an eine Datei angehängt ist. Es ist seit Windows NT 3.1 Teil von NTFS.
Wenn Sie beispielsweise eine leere Textdatei haben, aber einige der Zusammenfassungsinformationen in das Eigenschaftstag der Datei eintragen, wird eine versteckte ADS-Datei erstellt und an die Textdatei angehängt. Die meisten Windows-Versionen enthalten nicht die Größe der ADS-Datei, wenn die Größe der Originaldatei angegeben wird.
Sie können ADS-Dateien an einer Eingabeaufforderung erstellen und anzeigen.
echo "ABCDE" > test.txt:hidden.txt
erstellt eine test.txt-Datei mit einer ADS-Datei namens hidden.txt
Mit diesem Befehl können Sie die Datei bearbeiten:
notepad test.txt:hidden.txt
Hier ist ein leicht zu lesender Artikel, der ausführlicher behandelt wird.
quelle
Ich habe eine Suche durchgeführt und bin auf eine ähnliche Frage gestoßen, die bei Stack Overflow gestellt wurde.
Grundsätzlich heißt es, dass die Datei erstellt wird und einige Bytes oder einen Festplattencluster usw. belegt. Dies hängt von der Granularität der Festplatte und des Dateisystems usw. ab.
Sie diskutieren es hier: /programming/4954991/are-0-bytes-files-really-0-bytes
mit zusätzlichen Links für weitere Forschung.
quelle
Auf einem NTFS-Volume werden diese Informationen in Metadateien gespeichert. Insbesondere werden der Dateiname und die Zeitstempel in einer Metadatei namens $ MFT gespeichert. Auf die Metadateien kann mit den normalen Windows-Methoden wie Explorer oder der Eingabeaufforderung nicht zugegriffen werden.
Weitere Informationen:
http://ntfs.com/ntfs-system-files.htm
http://en.wikipedia.org/wiki/NTFS
quelle