Meta veriler herhangi bir boyutta değil mi?


51

Bir metin dosyasına 4096 karakter koydum ve kaydedin. Her karakter 1 bayt olduğundan, metin dosyasının boyutu 4K bayt olmalıdır. Aşağıda görüldüğü gibi tamam:

görüntü tanımını buraya girin

Flash belleği bilgisayarıma bağlarım. flash bellekteki boş alan 1,717,518,336bayt :

görüntü tanımını buraya girin

Flash belleğimde dosyanın bir kopyasını oluşturdum. Ve yine boş alana bir göz atın. sahip olduğu 1,717,514,240bayt boş alan:

görüntü tanımını buraya girin

Bakalım ne fark var?

1,717,518,336 - 1,717,514,240 =4096 bayt


Benim sorum :

S1:

Yukarıdaki son resimde gördüğünüz gibi, dosyanın flash üzerinde kapladığı tek alan içeriği [karakterler] için olan alandır. Peki meta veri dosyası nerede?

Yani, dosyayı başka bir bilgisayara taşıdığımda, dosyanın adını, dosyanın sahibini, Oluşturulduğu ve değiştirildiği tarihi ve ...

Herhangi bir boyutta değil mi? !!

S2:

Meta veri dosyasını flash bellekte görebilir miyim?

görüntü tanımını buraya girin

Zaman ayırdığınız ve değerlendirdiğiniz için teşekkür ederiz.


10
meta veriler dosya sisteminde bulunur. bu, Windows tarafından bildirilen dosya boyutunun bir parçası değildir. Ayrıca, FAT32 ve NTFS meta verileri farklı olacaktır.
Ramhound

Metin dosyasını flash belleğe taşıdığımda @Rhohound, meta veri dosyası da flash belleğe taşınır, değil mi? nasıl görebilirim
TheGoodUser


1
İşletim sistemi içindekileri anlamak (kendi başına değerli), bir disk onarımı / kurtarma programı yazmadığınız sürece, muhtemelen bu tür bilgileri incelemek ya da değiştirmek için hiçbir neden yoktur. Normal kullanım için, bu düzeyde bilgileri hiçbir zaman değiştirmek istemezsiniz, çünkü dosya sisteminin kendisinin ve onu kullanan her şeyin bütünlüğünü kolayca azaltabilir.
Joe,

3
Kısa cevap: Yer kaplar, ancak dosya boyutunun bir parçası olarak sayılmaz.
kullanıcı253751

Yanıtlar:


50

Evet, meta veriler yer kaplar. NTFS'de, belirli olması için 1024 bayt kaplar. Ancak, bilgiler dosyada değil, ana dosya tablosunda MFT'de depolanır. Özellikle MFT kayıt # 4'te $AttrDef.

Detaylar için bu Technet makalesine bakın: tablo 3.5 tanımlanmış tüm MFT kayıtlarını tutar.

Bir birim NTFS ile biçimlendirildiğinde, bir Ana Dosya Tablosu (MFT) dosyası ve diğer meta veri parçaları oluşturulur. Meta veriler, NTFS'nin dosya sistemi yapısını uygulamak için kullandığı dosyalardır. NTFS, MFT'nin ilk 16 kaydını meta veri dosyaları için saklar.

NTFS, her dosya için bir dosya kaydı ve NTFS biriminde oluşturulan her dizin için bir dizin kaydı oluşturur. MFT, MFT'nin kendisi için ayrı bir dosya kaydı içerir. Bu dosya ve dizin kayıtları MFT'de saklanır. Dosyanın özellikleri MFT'deki ayrılan alana yazılır. Dosya özniteliklerinin yanı sıra, her bir dosya kaydı, MFT'deki dosya kaydının konumu hakkında bilgi içerir.

Diğer dosya sistemlerinin meta verilerle farklı şekilde başa çıkabileceğini ve yapabileceğini unutmayın.

EDIT: Yorumlar bölümünde, bu cevabın eksik olduğu, çünkü OP'nin NTFS değil FAT32 dosya sistemlerinde meta verileri istediği belirtildi. Nasıl olduğunu bilseydim, "doğru cevap" özelliğini kaldırırdım. Bu nedenle, FAT32 ile ilgili soruyu cevaplayan ek bilgiler sağlıyorum.

FAT32, dosya veya klasörün üst klasöründeki bir girişteki her dosya ve klasör için görünürlük veya değiştirme zamanı gibi basit meta verileri, FS'nin kök klasöründen aşağı doğru bir ağaç oluşturarak kaydeder. NTFS ile ilgili olarak belirtildiği gibi bu bir dosya değil , klasör veri yapısı içinde kaydedilmiştir . Giriş başlangıçta 32 bayt büyüktü ve aşağıdaki özellikleri içeriyordu:

Name (8.3) xxxxxxxx.yyy. (88 bits)

Attribute byte (8 bits of information, described later in this section).

One reserved byte.

Create time (24 bits).

Create date (16 bits).

Last access date (16 bits).

Two reserved bytes.

Last modified time (16 bits).

Last modified date (16 bits).

Starting cluster number in the file allocation table (16 bits).

File size (32 bits).

Liste, bu Microsoft Tekniği makalesinden alınmıştır ve FAT16 ile ilgilidir. FAT32'nin küme boyutu 32 bit olabileceğinden ve dosyaların adı 8.3'ten daha uzun olabileceğinden, tablo tam olarak doğru değildir. Uzun dosya isimleri ve daha büyük diskleri karşılamak için FAT32 Wikipedia'ya okunabilir bazı davranışını değiştiren burada ama temel fikir tutar.


2
Meta Veri'ye bakmak ve uzantıları bulmak için Sysinternal paketinin NTFSinfo'sunu kullanabilirsiniz. Buradan indirebilirsiniz: technet.microsoft.com/en-us/sysinternals/default Çevresinde birkaç meta veri düzenleyicisi var, ancak onları kullanmadığım için hiçbirini tavsiye edemiyorum.
bjanssen,

9
@ TheGoodUser-Sp meta, NTFS, en azından, değil ben aradığınız izlenim ne elde olan geleneksel anlamda "bir dosyada" saklanır. Orada değil hepimiz hakkında söylemediğiniz bir yere \ windows klasöründe saklanmış bir şey; dosya meta verileri, dosya sisteminin kendisinin ayrılmaz bir parçasıdır.
Rob Moir

2
Bu durumda Flash Sürücü FAT-32 olarak biçimlendirilir. Yani metada dosya ayırma tablosu (FAT) saklanır en.wikipedia.org/wiki/File_Allocation_Table
jnovacho

2
NTFS ve FAT tahsisat tablolarının önceden tahsis edildiğine dikkat etmek önemlidir. Biçimden biçime farklılık gösterir, ancak birkaç sektör genellikle parçalanmayı azaltmak için meta verileri depolamak için kullanılacak boş önceden tahsisli bloklarla meşgul.
Kaslai

2
Meta verilerin sabit bir boyutta olduğunu düşündüren nedir? Erişim kontrol listesi kesinlikle karmaşıklık bakımından çok fazla değişiklik gösterebilir; Her zaman 1024 byte'a nasıl sığabileceğini göremiyorum (erişim ve değişiklik zamanları gibi diğer tüm meta verilerle birlikte)
Ben Voigt 06.01

26

Herhangi bir boyutta değil mi? !!

Evet, ancak önceden tahsis edilmiş büyük bir blokta küçük bir giriş. Bu blok, diskinizin "kullanılmış" bölümünde sayılır. Bu bloğun içine bir giriş eklemek bloğun genişletilmesini gerektirmez.

Dosya sistemine bağlı olarak, çok sayıda dosya eklendikten sonra blok bir şekilde doldurulacak ve genişletilecektir.

Meta veri dosyasını flash bellekte görebilir miyim?

Kolayca değil

Ruslan ve Blorgbeard'ın yorumladığı gibi. Ham dosya sistemi verilerini görüntülemenizi (ve düzenlemeyi - çok dikkatli olmanızı) sağlayan HxD gibi bir hex görüntüleyici yükleyebilirsiniz . Ancak, hangi byteların hangi dosya sistemi yapılarına ait olduğuna ilişkin yorumu kendiniz yapmanız gerekecektir. Bunun için flash diskte kullanılan belirli bir dosya sisteminin iyi bir şekilde belgelendirilmesine ihtiyacınız olacaktır. FAT32'nin, NTFS'nin birçok varyasyonundan daha kolay anlaşılması daha muhtemeldir. Örneğin, FAT32 Dosya Sistemlerini Anlama bölümüne bakın .


3
@TheGood Google’dan yoksun bırakılırsa, muhtemelen Linux’u ddaçarak ve ham flash dosya sistemini başka bir diskteki bir dosyaya kopyalamak için kullanmaya başlarım , daha sonra belirli bir dosya sistemi üzerinde iyi bir referans çalışması ile birlikte incelemek için bir hex-viewer kullanın. (tescilli ve açıklanmamışsa). Bir meta veri değişikliği ile yapabilir touch, tekrarlayabilir ddve ikili bir fark kullanabilirim.
RedGrittyBrick

1
İyi ki Google'dan mahrum değilim.
Cthulhu

5
@Cthulhu: Eskilerin necronomicon'a ihtiyacı yok. fhtagn.
RedGrittyBrick

2
Doğrudan bir sabit sürücüde hex-viewer kullanmak için işletim sistemi değiştirmeye gerek yoktur. Sadece iyi bir hex görüntüleyici kullanın. (Görünüşe göre bile hiewyapabilir, ama uzun zaman önce pencerelerde olduğumdan emin değilim).
Ruslan

1
HxD kesinlikle, Windows üzerinde yapacak. Ekstralar menüsü, Diski Aç.
Blorgbeard

7

Meta veriler (her zamanki dosya yönetimi araçları tarafından rapor edilmez) dosyalar olarak saklanmaz, dosya sisteminin diskteki verileri üzerinde depolanır.

Dosya sisteminin yapısına / sürümüne bağlı olarak, her giriş meta veri bilgilerini göstermek için bir miktar disk alanı kullanır.

Üstelik, Ana Dosya Tablosunda ayrılan alanın yanı sıra, bazı dosya sistemleri ayrıca dosya değişikliği (ek alan ayırma) hakkında dergi tutacaktır ve bazı dosya sistemleri özel amaçlı meta veri içeren fazladan alanlarla genişletilebilir.

Yani teknik meta disk alanı sürer, ancak dosya sistemini sorgulamak sistemin API çağrısı işleri Çoğu dosya yönetim araçları tarafından hesapta alınmaz dosya için değil, uzay meta alanı.

Ve bu soyutlama, buzdağının sadece görünen kısmıdır, çünkü dosya sistemi düşük seviyeli disk rutinleri tarafından sağlanan temel fiziksel disk alanı soyutlaması üzerinde çalışır, bu yüzden aslında sadece diskin dahili mantığı, daha yüksek seviyeler için kaç gerçek bellek konumunun mevcut olduğunu bilecektir. ve ne kadarı güvenilmez, ayrılmış veya sağlama toplamı için kullanılmış olarak işaretlenir.


3

Meta veriler dosya sistemine bağlıdır. Genellikle değiştirilebilir ortamlarda kullanılan en temel dosya sistemleri bir DOS dosya sistemine (FAT) dayanmaktadır. DOS'ta kullanıcı ve izinler yok. Ya da daha doğrusu, bu bilgilerin bir kısmı dosya adının 8. veri bitinde taşınır. Temel bir DOS FS'sinde kullanılan genel gider, dosyanın bloklarını veya içinde bulunduğu dizini hesaba katar - ve bu blok zaten "." IOW, boş bir dosya eklemek, başka bir depolama alanı eklemez, ancak mevcut ve harcanan bit miktarlarını değiştirir .

Daha gelişmiş dosya sistemlerini kullandığınızda, dergilerde ve kullanıcılarda, önceki dosya sürümlerini vb. Kurtarmak için meta veriler ve günlük girişleri ve muhtemelen adli bir zincir elde edersiniz. Daha sonra küçük bir dosya kullanılmış depoda patlayabilir.

Öyleyse, FS tipini kontrol edin. FAT ise, muhtemelen medyada meta verilerde kaydedilmiş bir kullanıcınız yoktur. Dolayısıyla ... hiç alan kullanılmamıştır. :)

Bir FAT FS'ye iyi bir örnek açık kaynak kodlu bir uygulamadır - mevcut işlem listesinin "kullanıcı al / ayarla" ve "kullanıcı erişimini kontrol et" içermediğini görebilirsiniz. Kimlik yok = bu kimliğin saklanması yok.


2

Yukarıdaki son resimde gördüğünüz gibi, dosyanın flash üzerinde kapladığı tek alan içeriği [karakterler] için olan alandır. Peki meta veri dosyası nerede?

"Meta veri dosyası" dosyayı içeren dizindir. Bu temelde dizinin ne olduğu - dizinin içeriğini tanımlayan bir meta veri koleksiyonu.

Yani, dosyayı başka bir bilgisayara taşıdığımda, dosyanın adını, dosyanın sahibini, Oluşturulduğu ve değiştirildiği tarihi ve ...

Herhangi bir boyutta değil mi? !!

Evet, dizinde. Çoğu dosya sisteminde, aynı dosyanın iki farklı dizine bağlı olması durumunda iki farklı adı olabilir.

Meta veri dosyasını flash bellekte görebilir miyim?

Dosya sisteminiz destekliyorsa, dizinin boyutuna bakarak görebilirsiniz.


2

Meta veriler nerede tutulur?

Meta veriler hakkında konuştuğumuzda, iki tür meta veri vardır.

İlk tip oluşturulan tarihi, en son değiştirilen tarihi, en son erişilen tarihi içerir. Dosya sistemine bağlı olarak (örn. NTFS / FAT / Ext3 vb ...) farklı "meta veriler", örneğin Windows sahibi ve NTFS'de izin verilebilir.

İlk tür tüm örnekler için geçerlidir, örneğin, örneğinizdeki .txt dosyası.

Tüm dosya sistemleri, kullanıcılar tarafından doğrudan erişilemeyen Ana Dosya Tablosunda (NTFS için MFT, diğer dosya sistemleri için bazı diğer isimler) bu meta verileri içerecek şekilde boşluklar ayırır. MFT, sürücü kapasitesinin bir parçası olarak sayılmadığından, hiçbir "ek" depolama alanı gerekli değildir.

İkinci tip "meta veri", dosya tipi veya uygulama tarafından tanımlanır. Örneğin, Office belgeleri "Yazar", "Konu" ve diğer meta verileri tutar; JPEG görüntüler, "çekilen fotoğrafın tarihi", "kamera modeli", "enstantane hızı"; MP3 sesi "albüm", "parça no", "bit hızı" içeriyor ...

İkinci tip DOES ilave yer kaplar, çünkü bu "meta veriler" dosyanın bir parçasını oluşturur.


Farklı sürücüde farklı boyut

Metin dosyanız açık olduğunda C:\4K sürer. Flash sürücünüze yerleştirdiğinizde boyut 1K olur H:\. Bunun nedeni, farklı bölümler için farklı "blok boyutu" olmasıdır.

Dosyalar blokta yer ayırır. Bu nedenle, 4K blok büyüklüğünde bir dosya sisteminde, 4 K, 4 K + 1 bayt, 8 K tahsis edilirken 4 K, 1 K 4 tahsis edilir.

Görünüşe göre sizin 1K blok boyutunda C:biçimlendirilirken, 4K blok boyutunda H:biçimlendirilmiş, fark ortaya çıkmış.


Boş bir metin dosyasını bir flash belleğe kopyaladığımda, meta verileri de flash belleğe taşınır. Şimdi, örneğin Linux'ta meta veri dosyasını görmenin bir yolu var mı? örneğin ikili olarak.
TheGoodUser

Meta verilerin kopyalanıp kopyalanmadığı, onu nasıl yaptığınıza bağlıdır. Örneğin robocopy, zaman damgalarını, öznitelikleri, sahip bilgileri, erişim kontrol listelerini (ACL) vb. Kopyalayıp kopyalamama seçeneği sunar. Ayrıca, flash belleğinizdeki dosya sisteminin destekleyip desteklememesine de bağlıdır (örneğin, FAT32 sahip oldukları bilgiyi ve ACL’yi tutmaz; yine de atıldı). Meta veriler bir dosya biçiminde değildir; bu nedenle ham verileri göremezsiniz; ddLinux'ta ihtiyaç duyabileceğiniz düşük seviyeli şeyleri görmek istiyorsanız ancak bunları nasıl yorumlayacağınız başka bir hikaye.
Kenneth L
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.