Linux çok çeşitli dosya sistemlerini desteklemektedir. En
önemlileri aşağıda tanıtılmıştır:
- minix
En eski, en güvenli olarak kabul edilen ama kısıtlı
yeteneklere ve özelliklere sahip olan dosya sistemidir.
(En fazla 64 MB lık dosya sistemi, en çok 30 karakterlik
dosya isimleri, ara sıra kaybolan tarih zaman damgaları gibi...
- xia
Dosya isimleri ve dosya sistemi boyutlarının sınırlarını
kaldıran ama bundan başka pek bir yenilik getirmeyen, sadece
minix dosya sisteminin yenilenmiş halidir. Çok popüler
değildir ama oldukça iyi çalıştığı rapor edilmektedir.
- ext3
ext3 dosya sistemi, ext2'nin bütün özelliklerine sahip bir dosya sistemidir. Aradaki temel fark, günlükleme özelliğinin eklenmiş olmasıdır. Böylece, herhangi bir sistem çökmesi esnasında, geri kurtarma zamanı kısaltılır ve performans artışı sağlanır. ext3, ext2'den daha popüler olmuştur.
- ext2
En yetenekli Linux dosya sistemidir. İleriye
dönük kolay geliştirilebilen bir dosya sistemi olarak
tasarlanmıştır. Dolayısıyla yeni sürümü, dosya sistemi
kodlarını, kurulu bir sisteme uygulamak için yeni ayarlar
yapmayı gerektirmez.
- ext
Ext2'nin geliştirilmeye uygun olmayan eski sürümüdür.
Pek çok insan ext2 dosya sistemine yönelmiştir.
- reiserfs
Çok sağlam bir dosya sistemidir. Veri kayıplarını en aza
indirmek için günlükleme (journalling) yöntemi kullanılır.
Günlükleme; yapılmış veya yapılan işlemlerin kayıtlarının
tutulması mekanizmasıdır. Bu sayede dosya sistemi meydana
gelmiş olan hasarları son derece kolay bir biçimde onarabilir.
Bunlara ek olarak, çok sayıda yabancı dosya sistemine destek
bulunmaktadır. Böylece işletim sistemleri arasında dosyaları
değişmek kolaylaştırılmıştır. Bu yabancı dosya sistemleri,
makine üzerinde doğal Linux dosya sistemleri gibi çalışabilirler.
Ama Unix'in bazı özelliklerinden faydalanamazlar, bazı kısıtlamalara
tabidirler veya bazı acayiplikler sergilerler.
- msdos
MS-DOS FAT dosya sistemleri (OS/2 ve Windows NT) ile uyumlu
bir dosya sistemidir.
- umsdos
Msdos dosya sistemi sürücülerine, Linux altında daha uzun
dosya isimleri, sahipler, izinler, bağlar ve aygıt
dosyaları erişimi sağlar. Bu sistem; normal bir MSDOS
dosya sisteminin sanki Linux dosya sistemiymiş gibi
kullanılmasını sağlar ve böylece Linux için bağımsız
bir bölüm oluşturulması zorunluluğunu ortadan kaldırır.
- vfat
FAT32 olarak bilinen dosya sisteminin bir uzantısıdır.
Pek çok MS Windows diski vfat'tır. FAT'tan daha büyük
disk alanlarını destekler.
- iso9660
CD ROM'lar için standart dosya sistemleridir.
Daha uzun dosya isimlerine izin veren Rock Ridge uzantısı
otomatik olarak desteklenir.
- nfs
Bir ağ dosya sistemidir. Dosya sisteminin pek çok
bilgisayar tarafından paylaşılmasını sağlar.
- smbfs
MS Windows bilgisayarlarla paylaşım sağlayan bir ağ dosya
sistemidir. Windows dosya paylaşım protokolleri ile
uyumludur.
- hpfs
OS/2 dosya sistemi.
- sysv
SystemV/386, Coherent ve Xenix dosya sistemleri.
Dosya sistemi seçimi duruma göre değişir. Uyumluluk ve diğer sebepler
doğal olmayan dosya sistemlerinin kullanılması mecburiyetini
getirebilirler. Şayet özgürce seçebilseydik, en mantıklısı ext3
dosya sistemi olurdu çünkü hem ext2'nin bütün özelliklerine sahiptir,
hem de günlükleme yapabilmektedir.
Ayrıca bir de "proc" dosya sistemi vardır. /proc
dizini altından ulaşılabilen bu dosya sistemi aslında bir dosya
sistemi değildir. Proc dosya sistemi bazı çekirdek yapı bilgilerine
(süreç listesi gibi) ulaşımı kolaylaştırırlar. Böylece bu veri
yapılarının bir dosya sistemi gibi görünmesini sağlar ve dosya
sisteminin sağlamış olduğu bütün olanakları kullanıma açar. Örneğin
bütün süreçlerin listesini alabilmek için şu komutu kullanabiliriz.
$ ls -l /proc
toplam 525256
dr-xr-xr-x 3 root root 0 Oca 13 04:41 1
dr-xr-xr-x 3 root root 0 Oca 13 04:41 11
dr-xr-xr-x 3 root root 0 Oca 13 04:41 111
dr-xr-xr-x 3 root root 0 Oca 13 04:41 112
dr-xr-xr-x 3 root root 0 Oca 13 04:41 14
dr-xr-xr-x 3 root root 0 Oca 13 04:41 1563
dr-xr-xr-x 3 root root 0 Oca 13 04:41 21
dr-xr-xr-x 3 root root 0 Oca 13 04:41 3
dr-xr-xr-x 3 root root 0 Oca 13 04:41 4
dr-xr-xr-x 3 root root 0 Oca 13 04:41 5
dr-xr-xr-x 3 root root 0 Oca 13 04:41 6
dr-xr-xr-x 3 root root 0 Oca 13 04:41 7
dr-xr-xr-x 3 xfs xfs 0 Oca 13 04:41 747
dr-xr-xr-x 3 apache apache 0 Oca 13 04:41 766
dr-xr-xr-x 3 root root 0 Oca 13 04:41 8
dr-xr-xr-x 3 root root 0 Oca 13 04:41 9
-r--r--r-- 1 root root 0 Oca 13 04:41 apm
dr-xr-xr-x 6 root root 0 Oca 13 04:41 bus
-r--r--r-- 1 root root 0 Oca 13 04:41 cmdline
-r--r--r-- 1 root root 0 Oca 13 04:41 cpuinfo
-r--r--r-- 1 root root 0 Oca 13 04:41 devices
-r--r--r-- 1 root root 0 Oca 13 04:41 dma
dr-xr-xr-x 3 root root 0 Oca 13 04:41 driver
-r--r--r-- 1 root root 0 Oca 13 04:41 execdomains
-r--r--r-- 1 root root 0 Oca 13 04:41 fb
-r--r--r-- 1 root root 0 Oca 13 04:41 filesystems
dr-xr-xr-x 3 root root 0 Oca 13 04:41 fs
dr-xr-xr-x 4 root root 0 Oca 13 04:41 ide
-r--r--r-- 1 root root 0 Oca 13 04:41 interrupts
-r--r--r-- 1 root root 0 Oca 13 04:41 iomem
-r--r--r-- 1 root root 0 Oca 13 04:41 ioports
dr-xr-xr-x 18 root root 0 Oca 13 04:41 irq
-rw-r--r-- 1 root root 0 Oca 13 04:41 isapnp
-r-------- 1 root root 536809472 Oca 13 04:41 kcore
-r-------- 1 root root 0 Oca 12 14:31 kmsg
-r--r--r-- 1 root root 0 Oca 13 04:41 ksyms
-r--r--r-- 1 root root 0 Oca 13 04:41 loadavg
-r--r--r-- 1 root root 0 Oca 13 04:41 locks
-r--r--r-- 1 root root 0 Oca 13 04:41 mdstat
-r--r--r-- 1 root root 0 Oca 13 04:41 meminfo
-r--r--r-- 1 root root 0 Oca 13 04:41 misc
-r--r--r-- 1 root root 0 Oca 13 04:41 modules
-r--r--r-- 1 root root 0 Oca 13 04:41 mounts
-rw-r--r-- 1 root root 208 Oca 13 04:41 mtrr
dr-xr-xr-x 3 root root 0 Oca 13 04:41 net
dr-xr-xr-x 2 root root 0 Oca 13 04:41 nv
-r--r--r-- 1 root root 0 Oca 13 04:41 partitions
-r--r--r-- 1 root root 0 Oca 13 04:41 pci
lrwxrwxrwx 1 root root 64 Oca 12 14:31 self -> 1563
-rw-r--r-- 1 root root 0 Oca 13 04:41 slabinfo
-r--r--r-- 1 root root 0 Oca 13 04:41 stat
-r--r--r-- 1 root root 0 Oca 13 04:41 swaps
dr-xr-xr-x 11 root root 0 Oca 13 04:41 sys
dr-xr-xr-x 2 root root 0 Oca 13 04:41 sysvipc
dr-xr-xr-x 4 root root 0 Oca 13 04:41 tty
-r--r--r-- 1 root root 0 Oca 13 04:41 uptime
-r--r--r-- 1 root root 0 Oca 13 04:41 version
dr-xr-xr-x 3 root root 0 Oca 13 04:41 video
$
(Yukarıdaki örnek kısaltılmıştır. Birkaç tane daha süreç ismi
listelenebilir.)
Her ne kadar bir dosya sistemi diye adlandırılsa bile proc dosya
sistemi sadece çekirdeğin bir hayalidir. Diskte yer kaplamaz.
Proc dosya sisteminin her hangi bir bölümüne bakmak istediğimiz zaman,
çekirdek sanki bu bölüm varmış gibi davranır ki aslında böyle bir
bölüm yoktur. Öyle ki, disk üzerinde yer kaplamayan çok-megabytelık
bir /proc/kcore dosyası vardır.