Bu bölümde Linux'un kullandığı dosya sistemi hakkında bilgi verilecektir.
      Dosya sistemini oluşturan dizinler, kapsadıkları dosyalar ve bunların
      Linux işletim sistemindeki görevleri de kısaca belirtilecektir.
    
      Bir işletim sisteminin dosya sisteminin performansı, hızı ve buna
      benzer çeşitli özellikleri sistemin verimli ve kararlı çalışması
      üzerinde doğrudan etkisi vardır. Linux dizin yapısının
      geliştirilmesinde FSSTND (file system standard) grubunun
      çalışmalarının payı çok büyük oldu. Programcılardan oluşan grup,
      standartların belirlenmesinde ve uygulama aşamasında Linux ile
      ilgilenenlere yardım etti. 1993 yılında Olaf Kirsh, Linux haber grubuna
      yazdığı bir e-postasında Linux dosya sistemi üzerindeki çalışmaların
      tamamlandığını haber verdi.
    
      Linux dizin yapısında bazı dizinlerin işlevi birbiriyle aynıdır. Bu durum,
      özellikle birbirini takip eden iki Linux sürümünde belirginleşir. Örnek
      olarak bir dağıtımda /usr/bin dizini altında yeralan dosya,
      diğer sürümde /bin altına yerleştirilebiyor.
    
      Dosya sistemleri ve dizinler paylaşımlı olarak da kullanılabilir.
      Birden fazla kişisel bilgisayarın bağlandığı ağda, disk alanından yer
      kazanmak için bir makina sunucu (ana makina) olarak tayin edilir. Ağ
      üzerindeki diğer makinalar da sunucu üzerindeki diski paylaşır. Buna
      örnek olarak kullanıcı ev dizinlerinin yeraldığı /home,
      çalıştırılabilir dosyaların bulunduğu /usr, e-posta ve haber
      grubu bilgilerinin bulunduğu /var/spool/mail ve
      /var/spool/news dizinleri verilebilir.
    
      Kök dizini, kendisine bağlı diğer tüm dizinleri de içerdiğinden, Linux
      dosya sisteminde önemli bir yere sahiptir. Linux açılırken önce kök
      dizini /etc/fstab dosyasına uygun şekilde bağlanır. Diğer dosya
      sistemlerinin onarımı ve kontrolü için gerekli olan fsck programları, bu
      dizinde bulunmalıdır. Benzer şekilde yedekleme için gerekli olan tar, zip,
      compress gibi arşiv programlarına da kök dizin altından erişilebilmeli,
      açılış esnasında hafızaya yüklenen çekirdek de kök dizininde yeralmalıdır.
    
      Bir programı yerine koymadan önce bazı "dengelerin" gözönünde tutulmasında
      yarar vardır. Programlanan her yazılımı kök dizinine koyarsanız, bir süre
      sonra bu dosya sisteminin şiştiğini görürsünüz. Kök dizinini başlangıçta
      küçük (20-30Mb kadar) tutmak, geliştirilen programları daha önceden
      belirlenen başka bir dosya sistemi altına koymak akıllıca olur. Bu yol,
      ağ üzerinden genellikle paylaşımı mümkün olmayan kök dizininin her
      makinadaki sabit diskte mümkün olan en az yer işgal etmesini sağlar.
    
      Sistemdeki önemli dizinlere göz atarsak,
    
      - /bin
- 
            Sistemin açılışı ve kontrolü için gerekli komutlar. Hem
            kullanıcıların, hem de sistem görevlisinin kullanabileceği
            dosyalar (kök dizinde ise fazla şişmemesi koşuluyla) buraya
            atılabilir. Sadece root kullanıcının ihtiyaç duyacağı init,
            getty, updatedb gibi programlar /sbin veya /usr/sbin'de
            durabilir. Bu dizinde bulunan dosyalara örnek olarak cat,
            chgrp, chown, date, dd, df, ln, mkdir, mount, ps, rm, sh,
            su, sync ve umount verilebilir.
           
- /dev
- 
            G/Ç dosyaları. Linux çekirdeğinde desteklenen her aygıta ait dosya /dev dizini altında bulunur. Kurulum anında bu dosyalar yerine
            yerleştirilir, bu dosyaların silinmesi durumunda /dev/MAKEDEV ile tekrar
            yaratılabilirler.
           
- /etc
- 
            Sistem yapılandırma dosyaları. Bu dizinde çalıştırılabilir
            dosyalar bulunmamalıdır.
           - skel
- 
                  Buradaki dosyalar, kullanıcı hesabı açıldığında kullanıcının ev
                  dizinine kopyalanır.
                 
- rc.d
- 
                  Bu dizinin içinde, init sürecinin başvurduğu yapılandırma
                  dosyaları vardır. Bunlara "rc dosysları" da denir.
                 
- passwd
- 
                  Kullanıcı veritabanı
                 
- fstab
- 
                  Linux'un açılışı esnasında bindirilecek dosya sistemleri burada
                  listelenir.
                 
- group
- 
                  passwd'e benzer şekilde kullanıcıların gruplarını tutar.
                 
- inittab
- 
                  init daemon için yapılandırma dosyası
                 
- motd
- 
                  Kullanıcı sisteme girdikten sonra ekranına basılması istenen mesaj
                  burada tutulur.
                 
- profile
- 
                  Kullanıcı sisteme girdiği zaman çalıştırılan dosya (csh ve sh
                  türevi kabuklar için)
                 
- shells
- 
                  Sistemde kullanılabilecek kabuk isimleri burada tutulur.
                 
- login.access
- 
                  login komutu için yapılandırma dosyası. Sisteme girişi
                  kullanıcı bazında sınırlamak için kullanılir.
                 
 
- /home
- 
            Kullanıcılara ayrılmış dizin. Başka şekilde ayarlanmamış ise,
            açılan her hesaba ait kullanıcı, burayı kullanır. Büyük sistemlerde,
            bu kısım alt parçalara ayrılabilir (/home/ftpadm , /home/ogrenci gibi)
           
- /lib
- 
            Kütüphane dosyaları.
           
- /mnt
- 
            Geçici mount edilen dosya sistemleri. Sadece bu iş için
            kullanıldığından sistem görevlisine zaman kazandırır.
           
- /proc
- 
            Süreç kontrollerini ve diğer sistem bilgilerini tutan dosya sistemi.
            Bu dosya sistemi aslında disk üzerinde yer kaplamaz, tüm dosyalar
            çekirdeğin bir uzantısı sayılabilir.
           - cpuinfo
- 
                  işlemci modeli, tipi ve performansını bildirir.
                 
- devices
- 
                  Halihazırda çalışan çekirdek içinde desteği bulunan aygıt
                  sürücülerini listeler.
                 
- dma
- 
                  Hangi dma kanallarının kullanıldığını belirtir.
                 
- filesystems
- 
                  Halihazırda çalışan çekirdek içinde desteği bulunan dosya
                  sistemlerini listeler.
                 
- interrupts
- 
                  Hangi kesintilerin kullanımda olduğunu söyler.
                 
- iports
- 
                  Halen hangi giriş/çıkış iskelelerinin kullanıldığını belirtir.
                 
- kcore
- 
                  Sistem hafızasının görüntüsü
                 
 
- /root
- 
            Sistem görevlisinin ev dizini. Mümkünse bu dizini sistemdeki diğer
            kullanıcıların görmeyeceği şekilde ayarlayın.
           
- /sbin
- 
            Hayati sistem komutları. Bir zamanlar bu dosyalar /etc dizini
            altında yeralıyorlardı. Sadece sistem görevlisinin ihtiyacı olan komutlar,
            /sbin veya /usr/sbin içinde bulunur.
           
- /tmp
- 
            Geçici dosyaların koyulduğu dizin. Belirli zaman aralıklarında
            temizlenmelidir.
           
- /usr
- 
            Diğer önemli sistem dosyalarını tutar. Bu bölüm genelde en kalabalık
            dizindir, zira yeni kurulan tüm programlar buraya konulur.
           - X11R6
- 
                  X Pencere sistemi bilgileri tutulur.
                 
- doc
- 
                  Belge ve dökümanlar, genellikle HOWTO ve FAQ dosyaları.
                 
- lib
- 
                  Bazı kütüphaneler
                 
- man
- 
                  Man dosyaları
                 
- src
- 
                  Bazı kaynak dosyaları ve linux çekirdeğini oluşturan kodları
                  (/usr/src/linux) içeren dizin.
                 
- sbin
- 
                  Kök dosya sisteminde yeralması gerekmeyen çalıştırılabilir sistem
                  görevlisi dosyaları
                 
 
- /var
- 
            Sürekli değişen sistem bilgileri burada tutulur. İstisnalar dışında
            diğer makinalarla paylaştırılmaz.
           
- adm
- 
            Sistem yönetimini ilgilendiren kayıtlar
           
- preserve
- 
            Sistemin göçmesinden sonra zarar görmesi mümkün dosyaların
            kaydedildiği yer.
           
- spool
- 
            Sonra işlenecek olan veriler buraya atılır (e-posta gibi)
           
      Eğer sistem yöneticisi iseniz düzenli olarak dosya ve dizin yapısını
      kontrol etmelisiniz. Örneğinn /tmp dizini normal kullanıcıların
      kullanımına açık olduğu için çok kısa bir sürede dolabilir. Burayı
      periyodik olarak silmek için find komutu işe yarayabilir:
    
# find /tmp -atime +7 -exec rm -rf  {} \;
      Yukarıdaki komut, tmp dizini altında yeralan tüm dosyaları kontrol
      edecek ve 7 günden daha eski dosyaları silecektir. Benzer şekilde,
      kullanıcıların dosyalarının yer aldığı /home dizini de çok kısa bir
      sürede dolmaya mahkumdur. Sistemde ne kadar büyük sabit disk olursa
      olsun bir gün gelecek burası dolacaktır. Periyodik olarak buraya da
      göz gezdirmek gerekir. Aşağıda yeralan kısa program, /home dizininde
      yeralan kullanıcı dizinlerideki disk kullanımını büyükten küçüğe doğru
      disk isimli dosyaya yollayacaktır. Bu dosyanın incelenmesiyle hangi
      kullanıcıları "cezalandıracağınızı" görebilirsiniz :)
    
# du -skx /home/* | sort -rn > disk
      du (disk usage), sistem kullanıcılarının sıkça başvurduğu bir
      komuttur. Kullanılabilecek parametreler için du(1) man sayfasına bakın.
    
      UNIX, (ve dolayısıyla Linux) iki tip aygıt tanır. Bunlardan ilki karakter
      aygıtları, başka bir deyişle veri alışverişini bayt bazında yapan
      cihazlar, diğeri de blok aygıtları, yani veri alışverişini blok cinsinden
      yapan cihazlardır. Karakter aygıtlarına örnek olarak seri bağlanan
      cihazlar ve teypler, disk aygıtlarına örnek olarak da diskler verilebilir.
      Bu cihazlardan bir bilgi yazılıp okunduğunda dosya sistemi altında bunları
      tanımlayan dosyalar (/dev/*) kullanılmış olur.
      Örnek olarak bir yazıcıya bilgi göndermek için,
    
    
      komutunu kullanabilirsiniz. Dosya, yazıcının anlayabileceği bir yapıda
      olmalıdır (örneğin düz metin).
    
      Her aygıt, bir dosya olarak dosya sisteminde kendine yer bulduğuna göre
      hangi aygıt dosyalarının bulunduğunu görmek mümkün olabilir.
    
$ ls -l /dev/cua0
crw-rw-rw- 1 root uucp 5, 64 Nov 30 1993 /dev/cua0
      İlk kolondaki ilk karakter (c), bu dosyanın bir karakter aygıtına ait
      olduğunu belirtiyor. Normal dosyalar için buradaki karakter '-' olmalıydı.
      Benzer şekilde blok aygıtlar için ise 'b' kullanılr.
    
      Aygıt sürücü desteği çekirdekte olmasa bile /dev dizini
      altında genellikle tüm aygıt dosyaları bulunur. Bu demektir ki
      /dev/sda dosyasına sahip olduğunuz halde bir SCSI sabit
      diski sistemde takılı olmayabilir. Tüm aygıt sürücülerinin bulunması,
      programların kurulumunu ve yeni donanımın eklenmesini kolaylaştırır.