Umieszczam 4096 znaków w pliku tekstowym i zapisuję go. Ponieważ każdy znak ma 1 bajt, rozmiar pliku tekstowego musi wynosić 4K bajtów. Jak widać poniżej, to w porządku:
Podłączam pamięć flash do komputera. wolne miejsce w pamięci flash to 1,717,518,336
bajty :
Utworzyłem kopię pliku w mojej pamięci flash. I jeszcze raz spójrz na wolne miejsce. ma 1,717,514,240
bajty wolnego miejsca:
Zobaczmy, jaka jest różnica:
1 717 518 336 - 1 717 514,240 =4096
bajty
Moje pytanie :
P1:
Jak widać na ostatnim zdjęciu powyżej, jedyną przestrzenią zajmowaną przez plik we Flashu jest przestrzeń dla jego zawartości [znaków]. Więc gdzie jest plik metadanych?
Mam na myśli, kiedy przenoszę plik na inny komputer, w jaki sposób rozumie nazwę pliku, właściciela pliku, datę utworzenia i modyfikacji i ...?
Czy to nie zajmuje żadnego rozmiaru? !!
Q2:
Czy mogę zobaczyć plik metadanych w pamięci flash?
Doceń swój czas i uwagę.
Odpowiedzi:
Tak, metadane zajmują miejsce. W systemie plików NTFS zajmuje on 1024 bajty, a konkretnie. Jednak informacje nie są przechowywane w pliku, ale w głównej tabeli plików MFT. W szczególności w rekordzie MFT nr 4
$AttrDef
.Zobacz szczegóły w tym artykule Technet : tabela 3.5 zawiera wszystkie zdefiniowane rekordy MFT.
Pamiętaj, że inne systemy plików mogą i postępują inaczej z metadanymi.
EDYCJA: W sekcji komentarzy wskazano, że w tej odpowiedzi nie ma sensu, ponieważ OP poprosił o metadane w systemach plików FAT32, a nie NTFS. Gdybym wiedział jak, usunąłbym atrybut „poprawna odpowiedź”. Dlatego dostarczam dodatkowe informacje, które odpowiadają na pytanie dotyczące FAT32.
FAT32 zapisuje proste metadane, takie jak widoczność lub czas modyfikacji każdego pliku i folderu we wpisie w folderze nadrzędnym pliku lub folderu, tworząc drzewo z folderu głównego FS. Jak wskazano w odniesieniu do NTFS, nie jest to plik, ale zapisany w strukturze danych folderu. Wpis początkowo miał 32 bajty i zawierał następujące atrybuty:
Lista została zaczerpnięta z tego artykułu Microsoft Technet i dotyczy FAT16. Ponieważ rozmiar klastra FAT32 może wynosić 32 bity, a nazwa plików może być dłuższa niż 8,3, tabela nie jest w pełni dokładna. Aby uwzględnić długie nazwy plików i większe dyski, FAT32 modyfikuje pewne zachowanie, które można przeczytać w Wikipedii tutaj, ale podstawowa idea jest zachowana.
źródło
Tak, ale to mały wpis w dużym, wstępnie przydzielonym bloku. Ten blok jest liczony w „używanej” części dysku. Dodanie wpisu w tym bloku nie wymaga rozszerzenia bloku.
W zależności od systemu plików, blok zostanie wypełniony i rozszerzony w jakiś sposób po dodaniu wielu nazw plików.
Nie łatwo
Jak skomentowali Ruslan i Blorgbeard. Możesz zainstalować przeglądarkę szesnastkową, taką jak HxD, która pozwoli ci oglądać (i edytować - bądź bardzo ostrożny) surowe dane systemu plików. Ale musisz sam dokonać interpretacji, które bajty należą do struktur systemu plików. Do tego potrzebna byłaby dobra dokumentacja konkretnego systemu plików używanego na dysku flash. FAT32 będzie prawdopodobnie łatwiejszy do zrozumienia niż jakikolwiek z wielu wariantów NTFS. Zobacz na przykład opis systemów plików FAT32 .
źródło
dd
skopiowania surowego systemu plików Flash do pliku na innym dysku, a następnie skorzystania z przeglądarki szesnastkowej w celu sprawdzenia go w połączeniu z dobrą pracą referencyjną na konkretnym systemie plików (jeśli nie zastrzeżone i nieujawnione). Mogę dokonać zmiany metadanych za pomocątouch
, powtórzyćdd
i użyć binarnego porównania.hiew
na to, że może to zrobić, ale nie jestem pewien, ponieważ dawno temu byłem w systemie Windows).Metadane nie są przechowywane (ani zgłaszane przez zwykłe narzędzia do zarządzania plikami) jako pliki, są przechowywane w danych systemu plików na dysku.
W zależności od charakteru / wersji systemu plików, każdy wpis zajmie pewną ilość miejsca na dysku do przedstawienia informacji o metadanych.
Co więcej, oprócz miejsca przydzielonego w głównej tabeli plików, niektóre systemy plików będą również prowadzić dziennik zmian plików (zajmowanie dodatkowego miejsca), a niektóre systemy plików można nawet rozszerzyć o dodatkowe pola zawierające metadane specjalnego przeznaczenia.
Tak więc technicznie metadane zajmują miejsce na dysku, ale nie jest brane pod uwagę przez większość narzędzi do zarządzania plikami, które działają, wywołując interfejs API systemu, który pyta system plików o przestrzeń plików , a nie o przestrzeń metadanych .
A ta abstrakcja jest tylko wierzchołkiem góry lodowej, ponieważ sam system plików działa na abstrakcji fizycznej przestrzeni dyskowej zapewnianej przez procedury dyskowe niskiego poziomu, tak więc tylko wewnętrzna logika dysku będzie wiedziała, ile rzeczywistych pozycji pamięci jest dostępnych dla wyższych poziomów i ile jest oznaczonych jako niewiarygodne, zastrzeżone lub wykorzystane do sumy kontrolnej.
źródło
Metadane zależą od systemu plików. Najbardziej podstawowe systemy plików zwykle używane na nośnikach wymiennych oparte są na systemie plików DOS (FAT). DOS nie ma użytkowników i uprawnień. Lub, bardziej poprawnie, niektóre z tych informacji są przenoszone w 8. bicie danych nazwy pliku. Jedynym narzutem zasobów, który jest używany w podstawowym systemie DOS FS, jest uwzględnienie bloków pliku lub katalogu, w którym się on znajduje - i ten blok jest już prawdopodobnie zatwierdzony do obsługi „.”, Już. IOW, dodanie pustego pliku nie dodałoby kolejnego kawałka pamięci, ale zmieniłoby niektóre istniejące zużyte i przydzielone bity.
Gdy korzystasz z bardziej zaawansowanych systemów plików, z dziennikami i użytkownikami, otrzymujesz metadane, wpisy do dziennika i ewentualnie łańcuch sądowy w celu odzyskania poprzednich wersji plików itp. Wtedy mały plik może wybuchnąć w używanej pamięci.
Więc sprawdź typ FS. Jeśli jest to FAT, prawdopodobnie nie ma użytkownika zapisanego w metadanych na nośniku. Stąd ... nie wykorzystano miejsca. :)
Dobrym przykładem FAT FS jest implementacja typu open source - i widać, że lista dostępnych operacji nie obejmuje „pobierz / ustaw użytkownika” i „sprawdź dostęp użytkownika”. Brak tożsamości = brak przechowywania tej tożsamości.
źródło
„Plik metadanych” to katalog zawierający ten plik. Właśnie taki jest katalog - zbiór metadanych opisujących zawartość katalogu.
Tak, w katalogu. W większości systemów plików ten sam plik może mieć dwie różne nazwy, jeśli jest połączony z dwoma różnymi katalogami.
Jeśli twój system plików go obsługuje, możesz to zobaczyć, patrząc na rozmiar katalogu.
źródło
Gdzie przechowywane są metadane?
Kiedy mówimy o metadanych, istnieją dwa rodzaje metadanych.
Pierwszy typ obejmuje datę utworzenia, datę ostatniej modyfikacji, datę ostatniego dostępu. W zależności od systemu plików (tj. NTFS / FAT / Ext3 itp.) Dostępne będą różne „metadane”, na przykład właściciel systemu Windows i uprawnienia w systemie plików NTFS.
Pierwszy typ dotyczy wszystkich plików, np. Pliku .txt w twoim przykładzie.
Wszystkie systemy plików wstępnie przydzielają miejsca na te metadane w głównej tabeli plików (MFT dla NTFS, niektóre inne nazwy dla innych systemów plików), do której użytkownicy nie mają bezpośredniego dostępu. Ponieważ MFT nie jest liczone jako część pojemności dysku, i tak nie jest wymagane „dodatkowe” miejsce do przechowywania.
Drugi typ „metadanych” jest definiowany przez typ pliku lub aplikację. Na przykład dokumenty Office przechowują „Autor”, „Temat” i inne metadane; Obrazy JPEG przechowują zestaw danych EXIF, w tym „zdjęcie zrobione według daty”, „model aparatu”, „czas otwarcia migawki”; podczas gdy dźwięk MP3 zawiera „album”, „utwór nr”, „bitrate” ...
Drugi typ NIE zajmuje dodatkowego miejsca, ponieważ te „metadane” stanowią część pliku.
Różne rozmiary w różnych dyskach
Gdy plik tekstowy jest włączony
C:\
, zajmuje 4K. Po włożeniu na dysk flash staje się wielkości 1KH:\
. Wynika to z różnej „wielkości bloku” dla różnych partycji.Pliki mają przydzielone spacje w bloku. Dlatego w systemie plików o rozmiarze bloku 4K 1 bajt ma przydzielony 4K, a 4097 bajtów (4K + 1 bajt) ma 8 KB.
Wygląda na
C:
to, że formatujesz w rozmiarze bloku 4K, aH:
formatujesz w rozmiarze 1K, co powoduje różnicę.źródło
robocopy
daje opcję kopiowania znaczników czasu, atrybutów, informacji o właścicielu, list kontroli dostępu (ACL) itp. Zależy to również od tego, czy system plików w pamięci flash obsługuje tę funkcję (np. FAT32 nie przechowuje informacji o właścicielu i liście ACL, więc są one i tak odrzucone). Metadane nie mają postaci pliku, więc nie można wyświetlić nieprzetworzonych danych; jeśli chcesz zobaczyć rzeczy niskiego poziomu, których możesz potrzebowaćdd
w Linuksie, ale jak je interpretować to inna historia.