2010-11-20 25 views
0

Dizin ve dosyaların dosya sistemi düzeyinde birbirleriyle nasıl ilişkilendirildiğini anlamaya çalışıyorum; özellikle FFS veya EXT gibi * nix dosya sistemleri.dizinlerdeki dizinlerin işlenmesi

Kavramsal olarak bir inode'un bir dosya konumuna bazı meta verileri ve işaretçileri olduğunu biliyorum, ancak dizin bilgilerini nasıl saklıyorlar ve hangi dosyaların hangi dizinde olduğunu biliyorlar?

cevap

2

okuyarak başlayabilir. Ancak, dosyanın içeriğinin (dosya olmadığı gibi) ancak dizinin dosyalarının/alt dizinlerinin (yani temel olarak bir dosya, özel içerikli/bayraklı) dizinlerine işaretçiler içermez. . Ek olarak üst dizine ve kendisine ait işaretçiler içerir.

çok bir ağaç geçme zaman olduğu gibi, dizin yapısı basitçe geçileceğini belli bir dosyayı ulaşmak için - bir dosyanın tam yolunu bulmak için, yalancı kod benziyor:

parts = [] 
inode = inode_of(file); 
parts.add(inode.name); 
while(inode.parent): 
    parts.add(inode.parent.name) 
    inode = inode.parent 
path = parts.reverse.join('/') 
0

Bir dizin adildir özel bir dosya türü. Onun inode, mod alanında S_IFDIR biti ayarlıdır. İçeriği dosya adlarını ve inode sayılarını tutan bazı veri yapılarıdır.

İlgili konular