Je mets 4096 caractères dans un fichier texte et l'enregistre. Comme chaque caractère est constitué d'un octet, la taille du fichier texte doit être de 4 Ko.Comme vous le voyez ci-dessous, tout va bien:
Je connecte ma mémoire flash à mon ordinateur. l'espace libre sur la mémoire flash est en 1,717,518,336
octets :
J'ai créé une copie du fichier dans ma mémoire flash. Et encore, jetez un coup d'œil à l'espace libre. il a des 1,717,514,240
octets d'espace libre:
Voyons quelle est la différence:
1.717.518.336 - 1.717.514.240 =4096
octets
Ma question :
Q1:
Comme vous le voyez dans la dernière image ci-dessus, le seul espace occupé par le fichier sur le flash est l'espace pour son contenu [caractères]. Alors où est le fichier de métadonnées?
Je veux dire, quand je déplace le fichier sur un autre ordinateur, comment comprend-il le nom du fichier, le propriétaire du fichier, la date de création et de modification et ...?
N'occupe-t-il aucune taille? !!
Q2:
Puis-je voir le fichier de métadonnées dans la mémoire flash?
Appréciez votre temps et votre considération.
Réponses:
Oui, les métadonnées occupent de l'espace. Sur NTFS, il occupe 1024 octets, pour être spécifique. Toutefois, les informations ne sont pas stockées dans le fichier, mais dans la table de fichiers maîtres MFT. Plus précisément dans l'enregistrement MFT n ° 4
$AttrDef
.Voir cet article de Technet pour plus de détails: la table 3.5 contient tous les enregistrements MFT définis.
Notez que d'autres systèmes de fichiers peuvent traiter les métadonnées de manière différente.
EDIT: Il a été souligné dans la section des commentaires que cette réponse manque le point parce que l’OP a demandé des métadonnées sur les systèmes de fichiers FAT32, pas NTFS. Si je savais comment faire, je supprimerais l'attribut "réponse correcte". Par conséquent, je fournis des informations supplémentaires qui répondent à la question concernant FAT32.
FAT32 enregistre des métadonnées simples telles que la visibilité ou l'heure de modification de chaque fichier et dossier dans une entrée du dossier parent du fichier ou du dossier, en créant une arborescence à partir du dossier racine du système de fichiers. Comme indiqué en ce qui concerne NTFS, il ne s'agit pas d'un fichier, mais il est enregistré dans la structure de données du dossier. L'entrée avait à l'origine une taille de 32 octets et contenait les attributs suivants:
La liste est extraite de cet article de Microsoft Technet et concerne FAT16. Étant donné que la taille de cluster de FAT32 peut être de 32 bits et que le nom des fichiers peut être plus long que 8.3, le tableau n'est pas totalement exact. Pour accepter les noms de fichiers longs et les disques plus grands, FAT32 modifie certains comportements qui peuvent être lus sur Wikipedia ici, mais l’idée de base est valable.
la source
Oui, mais c'est une petite entrée dans un grand bloc pré-alloué. Ce bloc est compté dans la partie "utilisée" de votre disque. L'ajout d'une entrée à l'intérieur de ce bloc ne nécessite pas l'extension du bloc.
En fonction du système de fichiers, le bloc sera éventuellement rempli et étendu après l'ajout de nombreux noms de fichiers.
Pas facilement
Comme le commentaient Ruslan et Blorgbeard. Vous pouvez installer un visualiseur hexadécimal tel que HxD qui vous permettra de visualiser (et de modifier - soyez très prudent) les données brutes du système de fichiers. Mais vous devrez interpréter vous-même quels octets appartiennent à quelles structures de système de fichiers. Pour cela, vous aurez besoin d’une bonne documentation sur le système de fichiers spécifique utilisé sur le disque flash. FAT32 sera probablement plus simple à comprendre que l’une des nombreuses variantes de NTFS. Voir Comprendre les systèmes de fichiers FAT32, par exemple.
la source
dd
copier le système de fichiers flash brut dans un fichier sur un autre disque, puis utiliser un visualiseur hexadécimal pour l'examiner conjointement avec un bon travail de référence sur le système de fichiers spécifique. (si non exclusif et non divulgué). Je pourrais faire un changement de métadonnées avectouch
, répéter ledd
et utiliser un diff binaire.hiew
pouvoir le faire, mais je ne suis pas sûr depuis que je suis sur Windows il y a longtemps).Les métadonnées ne sont pas stockées (ni signalées par les outils de gestion de fichiers habituels) sous forme de fichiers, elles sont stockées sur les données du système de fichiers sur disque.
Selon la nature / la version du système de fichiers, chaque entrée prendra une certaine quantité d’espace disque pour représenter les informations de métadonnées.
En outre, outre l’espace alloué dans la table des fichiers maîtres, certains systèmes de fichiers conservent également le journal des modifications de fichiers (en prenant de l’espace supplémentaire), et certains systèmes de fichiers peuvent même être étendus avec des champs supplémentaires contenant des métadonnées à usage spécifique.
Donc, techniquement, les métadonnées prennent de l’espace disque, mais la plupart des utilitaires de gestion de fichiers n’en prennent pas compte, ce qui fonctionne en appelant l’API du système qui interroge le système de fichiers sur l’ espace fichier , et non sur l’ espace métadonnées .
Et cette abstraction n'est que la partie visible de l'iceberg, car le système de fichiers lui-même fonctionne sur une abstraction de l'espace disque physique sous-jacent, fourni par les routines de disque de bas niveau. Ainsi, seule la logique interne du disque saura combien de positions de mémoire réelles sont disponibles pour les niveaux supérieurs. et combien sont marqués comme non fiables, réservés ou utilisés pour la somme de contrôle.
la source
Les métadonnées dépendent du système de fichiers. Les systèmes de fichiers les plus élémentaires généralement utilisés sur des supports échangeables sont basés sur un système de fichiers DOS (FAT). DOS n'a pas d'utilisateurs, et les autorisations. Ou, plus correctement, certaines de ces informations sont contenues dans le huitième bit de données du nom de fichier. La seule ressource supplémentaire utilisée dans un système de fichiers DOS de base consiste à comptabiliser les blocs du fichier ou le répertoire dans lequel il se trouve. Ce bloc est probablement déjà validé pour le traitement de ".". IOW, ajouter un fichier vide n’ajouterait pas un autre espace de stockage, mais modifierait certains bits existants consommés et alloués.
Lorsque vous utilisez des systèmes de fichiers plus avancés, avec journalisation et utilisateurs, vous obtenez des métadonnées, des entrées de journal et éventuellement une chaîne d'investigation pour récupérer les versions de fichier précédentes, etc. Ensuite, un petit fichier peut exploser dans la mémoire utilisée.
Alors, vérifiez le type de FS. S'il s'agit de FAT, aucun utilisateur ne sera probablement enregistré dans les métadonnées du support. Par conséquent ... pas d'espace utilisé. :)
Un bon exemple de FS FAT est une implémentation open source - et vous pouvez voir que la liste des opérations disponibles ne comprend pas "obtenir / définir un utilisateur" ni "vérifier l'accès par utilisateur". Pas d'identité = pas de stockage de cette identité.
la source
Le "fichier de métadonnées" est le répertoire qui contient le fichier. C'est en gros ce qu'est un répertoire - une collection de métadonnées décrivant le contenu du répertoire.
Oui, dans le répertoire. Dans la plupart des systèmes de fichiers, un même fichier peut avoir deux noms différents s'il est lié à deux répertoires différents.
Si votre système de fichiers le supporte, vous pouvez le voir en regardant la taille du répertoire.
la source
Où les métadonnées sont-elles conservées?
Lorsque nous parlons de métadonnées, il existe deux types de métadonnées.
Le premier type comprend la date de création, la date de dernière modification et la date du dernier accès. Selon le système de fichiers (c.-à-d. NTFS / FAT / Ext3, etc.), différentes "métadonnées" seront disponibles, par exemple le propriétaire de Windows et l'autorisation sur NTFS.
Le premier type s'applique à tous les fichiers, par exemple le fichier .txt de votre exemple.
Tous les systèmes de fichiers pré-allouent des espaces pour contenir ces métadonnées dans la table de fichiers principale (MFT pour NTFS, d'autres noms pour un autre système de fichiers), qui n'est pas directement accessible par les utilisateurs. Comme MFT n'est pas compté dans la capacité du lecteur, aucun espace de stockage "supplémentaire" n'est requis.
Le deuxième type de "métadonnées" est défini par le type de fichier ou l'application. Par exemple, les documents Office conservent "Auteur", "Objet" et d'autres métadonnées. Les images JPEG conservent un ensemble de données EXIF, notamment "date prise de la photo", "modèle d'appareil photo", "vitesse d'obturation"; tandis que le son MP3 contient "album", "piste #", "bitrate" ...
Le second type occupe plus de place, car ces "métadonnées" font partie du fichier.
Taille différente dans le lecteur différent
Lorsque votre fichier texte est activé,
C:\
il prend 4K. Il devient 1K lorsque vous le mettez sur votre lecteur flashH:\
. Cela est dû au fait que la "taille de bloc" est différente pour les différentes partitions.Les fichiers sont des espaces alloués en bloc. Par conséquent, sur un système de fichiers de taille de bloc 4K, 4K sont alloués à 1 octet, tandis que 8K sont affectés à 4 097 octets (4K + 1 octet).
Apparemment, votre
C:
est formaté avec une taille de bloc de 4K, alors qu'ilH:
est formaté avec une taille de bloc de 1K, ce qui entraîne une différence.la source
robocopy
vous avez la possibilité de copier des horodatages, des attributs, des informations sur le propriétaire, des listes de contrôle d'accès (ACL), etc. Cela dépend également du fait que le système de fichiers de votre mémoire flash le prenne en charge jeté quand même). Les métadonnées ne sont pas sous forme de fichier, vous ne pouvez donc pas voir les données brutes; si vous voulez voir des choses de bas niveau dont vous pourriez avoir besoindd
sous Linux, leur interprétation est une autre histoire.