Linux Dosya Sistemi Hiyerarşisi

Bugün sizlere ilk linux kategorimize ait olacak konuyu: Linux dosya sistemi hiyerarşisi veya linux dosya sistemi yapısından bahsedeceğim.

Linuxun kullandığı dosya sistemi, dizinler, kapsadıkları dosyalardan ve çok kısa olarak görevlendirilmelerini anlatacağım. Linux’da, Unix’de bulunduğu gibi ” Tekil Hiyerarşik Klasör Yapısı “nı benimsemiştir. Yani sistem kök dizini olarak ifade edilen ” / ” simgesi ile başlar ve dallanıp budaklanır 🙂 Herhangi bir dosya ya da dizin bilgileri önce kök dizinden yani / başlar ve sonrasında o dosya ya da dizine gidilmesi gerekir ki yine bunların arasına / işareti konulur.

Linux dağıtımların çoğu genellikle aynı hiyerarşide bulunur ki farklı oldukları takdir de geliştiriciler hatta kullanıcılar için oldukça zor olacağı kanısı vardır.

*** DİKKAT : Linux küçük-büyük harf duyarlılığına sahiptir. Örnek ” Yeni ” ” yeni ” YENİ ” isimli oluşturduğumuz 3 klasörde birbirlerinden farklıdır. Hatta komut yazarken bile ” ls -a ” ile ” ls -A ” çok farklı şeylerdir. Hatırlamakta fayda var 🙂

*** DİKKAT 2 : Linux’da dosyalar ilgili klasörlere dağılır yani windows da olduğu gibi program files adı altında tek klasörde tutmaz.

Şimdi gelelim kök dizinimizde gelen temel klasörler nedir ve kısaca bahsedelim.

  • /

Her dosya ve dizin ” / ” kök dizini altında başlar. Ve sadece root kullanıcısı bu dizin altında yazmaya yetkilidir. /root dizini ile karıştırılmaması gerekir !

  • /bin

Genel ve en yaygın linux komutlarının çalıştırılabilir dosyalarının olduğu dizindir. Kısaca sistemin açılışını ve kontrolü için gerekli komutlardır.

Örnek : ls, ping, grep, cp..

  • /sbin

Bin dizininde ki gibi bu dizinde de çalıştırılabilir dosyaları tutar.

Bin dizininden farkı ise burada bulunan çalıştırılabilir dosyalar genelde sistem yöneticileri tarafından kullanılır.

Örnek : reboot, fdisk, ifconfig, swapon..

  • /etc

Linux bir vücuda benzetecek olsaydık etc klasörünü sinir sisteminin merkezi olarak ifade etmemiz yanlış olmazdı. Yani kısaca sistem biçimlendirme dosyalarını ( konfigürasyon ) barındırır.

Bu dizinde ” /etc ” kurulumunu yaptığımız programların veya scriptleri başlatma ve durdurma betikleri de yer alır.

Örnek : /etc/apache.conf, /etc/resolv.conf..

  • /dev

Linux’da her şeyin bir dosya olduğunu biliriz ki donanım aygıtlarıda bir dosyadır. SB girişleri, CD-ROM’lar ve ya depolama ortamları gibi bütün aygıtlar /dev klasörü altında tutulur.

Örnek: /dev/null, /dev/tty1..

  • /proc

Bir bilgi alma merkezi desek yanlış olmaz sanırım. Donanım yapılarıyla ilgili bilgileri içeren kısımdır.

Bu dizin sadece okunabilir ve içerisinde bulunan bilgiler devamlı değişir.

Örnek : cat /proc/cpuinfo komutu ile işlemcinizin özelliklerine ulaşabilirsiniz.

  • /var

İçeriğinin boyutu giderek artması beklenen dosyalar içerir genellikle.

Örnek : /var/log, /var/lib..

  • /tmp

Geçici dosyalar içindir. Genellikle işletim sistemi ( linux ) yeniden başladığında içerisindeki dosyalar silinir.

Fakat elle silmeyi genellikle önermezler. Örnek vermek gerekirse açık bir soket dosyasını program çalışırken silerseniz büyük olasılıkla sorun çıkartabilirsiniz.

  • /usr

Yüklenilen programlar genellikle bu dizinde yer alır. Yani kullanıcıların yükleyip kullandığı programlara ait dosyalar, dökümanlar ve ya kütüphaneler burada yer alır.

En kalabalık dizinlerden bir tanesidir.

  • /home

Tüm linux kullanıcıların ya da göz aşinası olanların bildiği gibi kullanıcıların kişisel dosyalarını sakladığı dizindir. Web sitesi sunucunuz var ise /home dizininin altında dosyaları yer alır.

  • /boot

İşletim sisteminin yüklenme evresidir diyebiliriz. Yani sistemin ayağa kalkması için gerekli dosyaları barındırır.

Linux çekirdeğine ait initrd, grub, vmlinux dosyaları burada yer alır.

  • /lib

Paylaşılan kütüphane ve çekirdek modülleri bu klasörde yer alır.

  • /opt

Linux işletim sisteminden bağımsız olan yani sistem için zorunlu olmayan 3. parti programlar burada yer alır. Örneğin “Google Earth” default olarak bu dizine kurulur.

  • /mnt

Sistem yöneticilerinin dosya sistemlerini bağladığı geçici dizindir.

  • /media

İsminden de anlaşılacağı gibi çıkarılabilir cihazlar için geçici bağlantı dizinidir. /media/usb vb..

  • /srv

Sistem tarafından bir hizmet sunuluyorsa onun verilerini tutar.

Örnek : FTP sunucusu tarafından sunulan veriler burada yer alır.