FILESYSTEM (Dosya Sistemleri)
Linux’ta her şey bir dosya olarak kabul edilir. Dosyalar, metin, grafik ve programlar gibi verileri depolamak için kullanılır. Dizinler, diğer dosyaları depolamak için kullanılan bir dosya türüdür. Windows ve Mac OS X kullanıcıları, bunlara genellikle klasör adını verir. Her durumda, dizinler hiyerarşik bir organizasyon yapısı sağlamak için kullanılır. Bununla birlikte, bu yapı, kullanılan sistem tipine bağlı olarak biraz farklı olabilir.
Bir Linux işletim sisteminde çalışırken, dosyaları ve dizinleri nasıl değiştireceğinizi bilmek önemlidir. Bazı Linux dağıtımları, dosyaları yönetmenize izin veren GUI tabanlı uygulamalara sahiptir, ancak bu işlemlerin komut satırı aracılığıyla nasıl gerçekleştirileceğini bilmek avantajlıdır.
Nasa, Twitter ve görseldeki gibi bir çok firma linux kullanmaktadır.

DİZİN YAPISI
Günümüzde yüzlerce linux dağıtımı bulunmaktadır. Her bir dağıtım kendi dizin yapısı hiyerarşisi kullanmaya
başladığında her bir linux dağıtımına özel dizin yapısını bilmek gerekiyordu. Bu sorunu aşmak için Dosya sistemi hiyerarşi standartı Filesystem Hierarchy Standard(FHS) belirlendi.
Bu standartın amacı kurulan yazılımların ve kullanıcıların kullanacağı dosya ve dizinleri belirlemektir. Bu standartlara göre man dosyalarının, programların yeri, veri tutan dizinlerin yeri vs hepsi belli bir kurala göre düzenlenmiştir.
Bir Windows sisteminde, dizin yapısının en üst seviyesi Bilgisayarım olarak adlandırılır . Sabit sürücüler, USB sürücüler, ağ sürücüleri gibi fiziksel aygıtlar Bilgisayarım altında görünür ve her birine C: veya D: gibi bir sürücü harfi atanır.
Windows dizin yapısının görsel bir temsili:

Windows gibi, tipik olarak bir dosya sistemi olarak adlandırılan Linux dizin yapısı da bir üst seviyeye sahiptir. Ancak, Bilgisayarım yerine kök dizin olarak adlandırılır ve eğik çizgi / karakteriyle sembolize edilir . Ek olarak, Linux’ta sürücü yoktur, her fiziksel aygıta bir sürücü harfinin aksine bir dizin altından erişilebilir.
Aşağıdaki görüntü, tipik bir Linux dosya sisteminin görsel bir temsilini göstermektedir:

Kök dizinin içeriğini görüntülemek için , ls komutu ile birlikte argüman olarak / (eğik çizgi) kök dizini kullanalım.
ls /

DİZİN YAPISI
Kısaca ne olduklarını anlamaya çalışalım ve detaylıca inceleyelim.
/bin Temel komutlar
/boot dizini bilgisayarı önyüklemek için gerek dosyaları içerir.
/dev Aygıt dosyaları
/etc Sistem yapılandırma dosyaları
/home Kullanıcının ev dizini
/lib Paylaşılan temel kütüphaneler ve çekirdek modülleri
/mnt Dosya sistemlerini geçici olarak bağlama noktası
/proc Sistemin genel ve anlık bilgilerini içeren sanal dosya sistemi
/sbin Temel sistem yöneticisi komutları
/tmp Geçici dosyalar
/usr ikincil kök, kullanıcı için yeni dizilim noktası
/var Değişken veriler, log dosyaları vb.
Dizin yapısını biraz daha ayrıntılı inceleyecek olursak.
- /bin dizini sistem yöneticileri ve normal sistem kullanıcıları için kullanışlı temel komutları barındırır. Kullanıcı kabuğu bash ve ls , cp , rm , cat gibi pek çok temel komutu içermesi nedeni ile en basit sistem kurulumunda bile oluşturulur.
- /sbin Sistem programları ( system binary ) bu dizinde bulunur. Sistem programlarının normal programlardan (/bin) farkı sistem yönetimine yönelik olmalarıdır. Büyük bir kısmını çalıştırmaya normal kullanıcılar yetkili değildir. Çalıştırabildikleri ise sistemden bilgi almaya yönelik, sistemde değişiklik yapmayan sistem komutlarıdır. mkfs disk biçimlendirme komutu, grub , fsck , dump , init , modprobe gibi sistem komutları bu dizindedir
- /boot İşletim sisteminin açılması için gerekli bütün dosyalar bu dizindedir. Çekirdekler ve initrd kalıpları bu dizinde yer alır.
- /dev Bu dizin özel veya aygıt dosyalarının konumudur. UNIX dünyasındaki “her şey bir dosyadır” kuralının bir göstergesi olarak bilgisayara bağlı aygıtlar, donanımlar /dev altında kendilerine erişimi sağlayan bir dosyaya sahiptirler.
- /etc Sistemin önemli yapılandırma dosyaları bu dizindedir. Yapılandırma dosyaları çalıştırılamayan fakat okunan ve
yorumlanan dosyalardır. Bir programın nasıl çalışacağını belirlerler. Buradaki dosyalar olmadan sistem programları düzgün çalışmayacaktır. etc için sistemin kalbidir diyebiliriz. Her zaman yedeklemede önceliğe sahiptir. - /home Linux çok kullanıcılı bir işletim sistemi olarak kullanıcıların dosyalarını başkalarına karşı koruduğu gibi herkese çalışması için bir ev ( home ) dizini sunar. Linux’te standart olarak kullanıcı dizinleri / home altında yer alır. Buraya kullanıcı istediği dosyaları yerleştirir, programları kurar veya siler. Çok fazla kullanıcı olan sistemlerde bu dizinin ayrı bir disk bölümü olması tavsiye edilmektedir.
- /lib Bu dizin çekirdek modülleri ve sistem kütüphanelerini içerir. Çekirdek modülleri sistemin açılışı için gerekli olup bazı donanımların sistem tarafından tanınmasını sağlar. Sistem kütüphaneleri ise /bin ve / sbin altındaki programların
çalışması için gerekli C kütüphaneleridir. Kütüphane dosyalarının uzantısı *. so şeklindedir. Çekirdek modülleri ve aygıt sürücüleri / lib modules kernel version ‘ dizini altındadır. - /proc proc sanal bir dosya sistemidir. Linux’un sunduğu en güçlü özelliklerden biri de / proc dosya sistemidir. Buradaki dosyalar gerçek içerik taşımaz. Çalışma zamanında çekirdek tarafından içerikler güncellenebilir. Sistem belleği, bağlanmış aygıtlar, donanım bilgisi, süreçlerin durumu gibi çekirdeğe ait bilgileri barındırır.
- /mnt Dosya sistemlerini veya aygıtları bağlamak için kullanılan genel bağlama noktasıdır. Bağlama işlemi mount komutuyla yapılır.
- /tmp Geçici olarak kullanılacak dosyalar bu dizinde oluşturulur. Bütün programlar ve kullanıcılar bu dizine yazabilirler. Buradaki dosyaları ne yaptığınıza emin olmadan silmeniz tehlikeli olabilir. Çünkü silinen dosyaları o an çalışan süreçlerden biri kullanıyor olabilir.
- /usr Sistemde en çok yer kaplayan dizin / usr dizinidir. Bu dizin kullanıcı için ikinci bir kök dizin olarak düşünülebilir.
Nasılki sistemin /bin, / sbin dizinleri var; / usr /bin ve usr sbin dizinleri de vardır. Sisteme sonradan kullanıcı tarafından kurulan programlar / usr ‘ı kök kabul ederek dosya sistemine yerleşirler. - /var Genel olarak değişken ( variable ) veriler/dosyalar bu dizinde tutulur. Örneğin sistem günlükleri, mail kuyruğu, gelen mailler, yazıcı kuyruğu, programların kilit dosyaları vs…
•Directory : Bize içinde bulunan nesneleri i node ve isimleriyle gruplamamıza yardımcı olan file system’dir
•Dizinlerin içinde bir üst dizini gösteren ‘ .. ‘ ve kendini gösteren ‘ . ‘ dizincikleri bulunur.
•Dizinler; Root Directory ve Sub Directory olmak üzere ikiye ayrılır.
•/ dizini ulaşılabilecek en üst noktadır. Tüm diğer dizinler / dizini altında toplanmıştır.
•/root ile karıştırılmamalıdır. /root , root kullanıcısının home dizinidir.