Ich füge 4096 Zeichen in eine Textdatei ein und speichere sie. Da jedes Zeichen 1 Byte lang ist, muss die Größe der Textdatei 4 KB betragen. Wie Sie unten sehen, ist das in Ordnung:
Ich verbinde meinen Flash-Speicher mit meinem Computer. Der freie Speicherplatz im Flash-Speicher beträgt 1,717,518,336
Bytes :
Ich habe eine Kopie der Datei in meinem Flash-Speicher erstellt. Und noch einmal einen Blick auf den freien Platz. Es hat 1,717,514,240
Bytes freien Speicherplatz:
Mal sehen, was der Unterschied ist:
1,717,518,336 - 1,717,514,240 =4096
Bytes
Meine Frage :
Q1:
Wie Sie im letzten Bild oben sehen, ist der einzige Speicherplatz, den die Datei auf dem Flash belegt, der Speicherplatz für ihren Inhalt [Zeichen]. Wo befindet sich also die Metadatendatei?
Ich meine, wenn ich die Datei auf einen anderen Computer verschiebe, wie versteht sie den Namen der Datei, den Eigentümer der Datei, das Erstellungs- und Änderungsdatum und ...?
Besetzt es keine Größe? !!
Q2:
Kann ich die Metadatendatei im Flash-Speicher sehen?
Schätzen Sie Ihre Zeit und Überlegung.
Antworten:
Ja, Metadaten belegen Platz. Unter NTFS belegt es 1024 Bytes, um genau zu sein. Die Informationen werden jedoch nicht in der Datei gespeichert, sondern in der Masterdateitabelle MFT. Speziell in MFT-Datensatz Nr. 4
$AttrDef
.Weitere Informationen finden Sie in diesem Technet-Artikel : Tabelle 3.5 enthält alle definierten MFT-Datensätze.
Beachten Sie, dass andere Dateisysteme mit Metadaten anders umgehen können.
BEARBEITEN: In den Kommentaren wurde darauf hingewiesen, dass diese Antwort den Punkt verfehlt, weil das OP nach Metadaten für FAT32-Dateisysteme und nicht für NTFS fragte. Wenn ich wüsste wie, würde ich das Attribut "richtige Antwort" entfernen. Daher stelle ich zusätzliche Informationen zur Verfügung, die die Frage zu FAT32 beantworten.
FAT32 speichert einfache Metadaten wie Sichtbarkeit oder Änderungszeit für jede Datei und jeden Ordner in einem Eintrag im übergeordneten Ordner der Datei oder des Ordners und erstellt einen Baum unterhalb des Stammordners des FS. Wie in Bezug auf NTFS bereits erwähnt, handelt es sich hierbei nicht um eine Datei, sondern um eine Datei, die in der Ordnerdatenstruktur gespeichert wird. Der Eintrag war ursprünglich 32 Byte groß und enthielt die folgenden Attribute:
Die Liste wurde aus diesem Microsoft Technet-Artikel entnommen und bezieht sich auf FAT16. Da die Clustergröße von FAT32 32 Bit und der Name von Dateien länger als 8.3 sein kann, ist die Tabelle nicht ganz genau. Um langen Dateinamen und größeren Datenträgern Rechnung zu tragen, ändert FAT32 einige Verhaltensweisen, die in der Wikipedia hier nachgelesen werden können, aber die Grundidee gilt.
quelle
Ja, aber es ist ein kleiner Eintrag in einem großen vorab zugewiesenen Block. Dieser Block wird im "verwendeten" Teil Ihrer Festplatte gezählt. Wenn Sie einen Eintrag innerhalb dieses Blocks hinzufügen, muss der Block nicht erweitert werden.
Abhängig vom Dateisystem wird der Block eventuell gefüllt und erweitert, nachdem viele Dateinamen hinzugefügt wurden.
Nicht einfach
Wie Ruslan und Blorgbeard kommentierten. Sie können einen Hex-Viewer wie HxD installieren , mit dem Sie die Rohdaten des Dateisystems anzeigen (und bearbeiten - seien Sie sehr vorsichtig) können. Sie müssen jedoch selbst die Interpretation vornehmen, welche Bytes zu welchen Dateisystemstrukturen gehören. Dazu benötigen Sie eine gute Dokumentation des auf der Flash-Disk verwendeten Dateisystems. FAT32 ist wahrscheinlich einfacher zu verstehen als eine der vielen Varianten von NTFS. Siehe beispielsweise Grundlegendes zu FAT32-Dateisystemen .
quelle
dd
Flash-Dateisystem in eine Datei auf einer anderen Festplatte zu kopieren. Verwenden Sie dann einen Hex-Viewer, um es in Verbindung mit einem guten Nachschlagewerk über das bestimmte Dateisystem zu untersuchen (falls nicht proprietär und nicht bekannt). Ich könnte eine Metadatenänderung mit vornehmentouch
, die wiederholendd
und ein binäres Diff verwenden.hiew
möglich zu sein, aber ich bin mir nicht sicher, seit ich vor langer Zeit auf Windows war).Metadaten werden nicht als Dateien gespeichert (noch von üblichen Dateiverwaltungs-Tools gemeldet), sondern auf den Daten des Dateisystems auf der Festplatte gespeichert.
Je nach Art / Version des Dateisystems benötigt jeder Eintrag Speicherplatz, um die Metadateninformationen darzustellen.
Neben dem in der Masterdateitabelle zugewiesenen Speicherplatz führen einige Dateisysteme auch ein Journal über Änderungen an Dateien (wobei zusätzlicher Speicherplatz benötigt wird), und einige Dateisysteme können sogar mit zusätzlichen Feldern erweitert werden, die spezielle Metadaten enthalten.
Technisch gesehen belegen Metadaten also Speicherplatz, werden jedoch von den meisten Dateiverwaltungsdienstprogrammen, die die API des aufrufenden Systems aufrufen, die das Dateisystem nach Dateibereich und nicht nach Metadatenbereich abfragt , nicht berücksichtigt .
Und diese Abstraktion ist nur die Spitze des Eisbergs, da das Dateisystem selbst an einer Abstraktion des zugrunde liegenden physischen Speicherplatzes arbeitet, der durch Festplattenroutinen auf niedriger Ebene bereitgestellt wird, sodass tatsächlich nur die interne Logik der Festplatte weiß, wie viele tatsächliche Speicherpositionen für höhere Ebenen verfügbar sind und wie viele werden als nicht zuverlässig markiert, reserviert oder für die Prüfsumme verwendet.
quelle
Die Metadaten hängen vom Dateisystem ab. Die grundlegendsten Dateisysteme, die normalerweise auf austauschbaren Medien verwendet werden, basieren auf einem DOS-Dateisystem (FAT). DOS hat keine Benutzer und Berechtigungen. Oder genauer gesagt, ein Teil dieser Informationen wird im achten Datenbit des Dateinamens übertragen. Der einzige Ressourcen-Overhead, der in einem grundlegenden DOS-FS verwendet wird, besteht darin, die Blöcke der Datei oder das Verzeichnis, in dem sie sich befindet, zu berücksichtigen - und dieser Block ist wahrscheinlich bereits für die Verarbeitung von "." Festgeschrieben. Wenn Sie eine leere Datei hinzufügen, wird kein weiterer Speicher hinzugefügt, es werden jedoch einige vorhandene belegte und zugewiesene Bits geändert .
Wenn Sie fortgeschrittenere Dateisysteme mit Journalling und Benutzern verwenden, erhalten Sie Metadaten und Journaleinträge und möglicherweise eine forensische Kette, um frühere Dateiversionen usw. wiederherzustellen. Dann kann eine kleine Datei im verwendeten Speicher explodieren.
Überprüfen Sie also den FS-Typ. Wenn es sich um FAT handelt, haben Sie wahrscheinlich keinen Benutzer, der in Metadaten auf dem Medium aufgezeichnet ist. Daher ... kein Platz verwendet. :)
Ein gutes Beispiel für eine FAT FS ist eine Open Source-Implementierung - und Sie sehen, dass die Liste der verfügbaren Vorgänge nicht "Benutzer abrufen / festlegen" und "Benutzerzugriff prüfen" enthält. Keine Identität = keine Speicherung dieser Identität.
quelle
Die "Metadatendatei" ist das Verzeichnis, das die Datei enthält. Das ist im Grunde genommen ein Verzeichnis - eine Sammlung von Metadaten, die den Inhalt des Verzeichnisses beschreiben.
Ja, im Verzeichnis. In den meisten Dateisystemen kann dieselbe Datei zwei verschiedene Namen haben, wenn sie in zwei verschiedenen Verzeichnissen verknüpft ist.
Wenn Ihr Dateisystem dies unterstützt, können Sie dies an der Größe des Verzeichnisses ablesen.
quelle
Wo werden Metadaten gespeichert?
Wenn wir über Metadaten sprechen, gibt es zwei Arten von Metadaten.
Der erste Typ umfasst das Erstellungsdatum, das Datum der letzten Änderung und das Datum des letzten Zugriffs. Je nach Dateisystem (z. B. NTFS / FAT / Ext3 usw.) stehen unterschiedliche "Metadaten" zur Verfügung, z. B. Windows-Besitzer und Berechtigungen für NTFS.
Der erste Typ gilt für alle Dateien, z. B. die TXT-Datei in Ihrem Beispiel.
Alle Dateisysteme weisen Speicherplätze vorab zu, um diese Metadaten in der Masterdateitabelle (MFT für NTFS, einige andere Namen für andere Dateisysteme) zu enthalten, auf die Benutzer nicht direkt zugreifen können. Da MFT nicht zur Laufwerkskapazität zählt, wird ohnehin kein "zusätzlicher" Speicherplatz benötigt.
Der zweite Typ von "Metadaten" wird durch den Dateityp oder die Anwendung definiert. In Office-Dokumenten werden beispielsweise "Autor", "Betreff" und andere Metadaten gespeichert. JPEG-Bilder enthalten eine Reihe von EXIF-Daten, darunter "Aufnahmedatum", "Kameramodell" und "Verschlusszeit". während MP3-Sound "album", "track #", "bitrate" enthält ...
Der zweite Typ belegt zusätzlichen Speicherplatz, da diese "Metadaten" Teil der Datei sind.
Unterschiedliche Größe in unterschiedlichem Laufwerk
Wenn Ihre Textdatei aktiviert ist
C:\
, nimmt sie 4 KB in Anspruch. Es wird 1 KB groß, wenn Sie es auf Ihrem Flash-Laufwerk ablegenH:\
. Dies liegt daran, dass die verschiedenen Partitionen unterschiedliche "Blockgrößen" aufweisen.Dateien werden in Blöcken Speicherplätze zugewiesen. Daher wird in einem Dateisystem mit einer Blockgröße von 4 KB 1 Byte 4 KB zugewiesen, während 4.097 Byte (4 KB + 1 Byte) 8 KB zugewiesen werden.
Anscheinend ist Ihr
C:
mit 4H:
KB Blockgröße formatiert, während mit 1 KB Blockgröße formatiert ist, was zu dem Unterschied führt.quelle
robocopy
Sie festlegen, ob Zeitstempel, Attribute, Eigentümerinformationen, Zugriffssteuerungslisten (ACL) usw. kopiert werden sollen. Dies hängt auch davon ab, ob das Dateisystem in Ihrem Flash-Speicher dies unterstützt (z. B. behält FAT32 Eigentümerinformationen und ACL nicht bei, so wie sie sind) sowieso weggeworfen). Metadaten liegen nicht in Form einer Datei vor, sodass Sie die Rohdaten nicht sehen können. Wenn Sie Dinge auf niedriger Ebene sehen möchten, die Sie unterdd
Linux benötigen, aber wie Sie sie interpretieren, ist eine andere Geschichte.