Linux Dosya Hiyerarşisi

Linux Dosya Hiyerarşisi

Linux Dosya Hiyerarşisi

  8 dakika Okuma Süresi
Merhabalar, bi Linux sohbeti ile yine karşınızdayım. Bugün Linux'taki dosya yapı ve yollarından bahsedeceğim. Linux'u daha iyi anlamak ve kullanabilmek için Linux'un yapısını iyi biliyor olmanız gerekiyor ve Linux'un önemli yapılarından biri de dosya yapısı. Yani dosya nedir, klasör nedir, dizin nedir ve bunlar Linux'ta nasıl kullanılır, nasıl erişilir gibi konulara değineceğiz.

Öncelikle söylemem gereken ilk şey; Linux'ta her şey dosyadır. Metin belgeleri, uygulamalar, oyunlar, hatta klasörler ve hatta hatta klavye ve mouse bile birer dosyadır. O nasıl iş la diyenleriniz olacaktır elbet fakat gerçekten böyle :) Klasörler, içerisinde dosya bulunan, daha doğrusu başka dosyalar için işaretçi barındıran birer dosyadır.
Elbette grafiksel kısımda yani bizim gördüğümüz tarafta klasörler ayrı olarak gösteriliyor fakat bu, kullanıcıların daha kolay anlama ve işlem yapabilmeleri için böyle ayarlanmış, kernel tarafında klasör = dosya.

Dosyalar, ağaç yapısına sahip olan dallı budaklı yapılardır ve en üst dizin / dizinidir. Windows'ta olduğu gibi Linux'ta da dosya yollarında klasörler birbirlerinden / (slaş-taksim) işareti ile birbirinden ayrılır, tabi kök dizini belirtmek için daha öncesinde bir dizin olmadığı için / işareti kullanılır.
Kök dizin / dizinidir ve kalan bütün dosya ve klasörler kök dizine bağlıdır. Elbette doğrudan bağlı olmaları şart değil, örneğin A dosyası B dosyasına, B dosyası C dosyasına, C dosyası / dizinine bağlı olabilir.
Daha iyi anlaşılabilmesi için şu resme bi bakalım;

Linux Dosya Hiyerarşisi

Resme baktığımızda en üstte / dizini yani kök dizin var ve bu dizine bin, dev, home, mnt, root, tmp, usr var gibi dizinler bağlı ve örneğin usr dizinine bin, lib ve sbin dizinleri bağlı. Tabiki bu bağlılığın devamı da olabilir.
Örneğin home dizinine kullanıcı adınızı belirten dizin bağlıdır, ona Masaüstü klasörü, ona da masaüstünde olan dosyalar bağlıdır, masaüstünde bulunan deneme isimli bir klasör olabilir ve bu klasörün içinde de zibilyon farklı dosya ve klasör olabilir vs vs bu böyle gider :)

Şimdi az önceki resimde gördüğünüz üzere kök dizine bin, boot, dev, etc, home, lib, mnt, proc, ..., var dizinleri bağlı ve siz Linux'u ilk kurduğunuzda da bu dizinler kurulu gelecektir ve bu klasörler Linux'un sistem dosyalarıdır. Kurduğunuz uygulamalar, terminal üzerinde çalıştırdığınız komutların dosyaları, sistem dosyaları gibi can alıcı dosyalar bu bahsettiğim dizinler içinde saklanır ve pekte silmenizi veya kurcalamanızı önermem :)
Elbette gerekli durumlarda kurcalamanız gereken dosyalar var, örneğin hosts isimli bir dosya var ve bu dosya ile VPN yada proxy ayarları yapabiliyoruz. VPN yada proxy kurmak istediğinizde elbette bu dosyada düzenleme yapmanız gerekecek.
Aksi takdirde, "aaa şurda bi hosts dosyası var bakayım ne yazıyor içinde" diyerek kurcalamayın, zararlı çıkabilirsiniz :)
Şimdi kök dizine bağlı olan dizinlerin içinde neler olduğunu, daha doğrusu ne türden dosyaları tuttuğunu kısaca anlatayım.
/bin: Terminal üzerinde çalıştırılan komutların tutulduğu dizindir.
Örneğin Windows'ta System32 klasörü vardır bildiğiniz üzere, CMD üzerinden çalıştırdığınız komutlar Windows'ta aslında bi executable (.exe yada .com yada .msi uzantılı çalıştırılabilir dosyalar) dosyalardır ve örneğin CMD üzerinden ipconfig komutunu çalıştırdığınızda CMD, System32 klasörü altında bulunan ipconfig.exe dosyasını çalıştırır.
Aynı şekilde Linux'ta da terminal üzerinden çalıştırdığınız komutlar çalıştırılabilir dosyalardır ve sistem tarafından eklenen, kurulumla beraber gelen komutlar /bin dizini içerisinde tutulur.
/dev: devices yani cihazlar kelimesinin kısaltılmış hali olan bu dizinde adından anlaşılacağı üzere cihazlar tutuluyor. Yazımın başında Linux dosya sisteminden bahsederken Linux'ta herşey dosyadır, klavye ve mouse bile demiştim ya hani, hah işte klavye ve mouse /dev klasörü içerisinde tutuluyor.
Elbette bu klasörün içerisinde bi tane A4tech klavyesi yok :), sistemin klavyeyi görüp tanıyabilmesi için gerekli olan dosyalar mevcut.
/etc: Biraz önce örnek olarak vermiş olduğum hosts dosyası bu klasörün içerisinde yer alıyor. Ayrıca daha gelişmiş VPN ve proxy ayarları yapabilmeye yarayan dosyalarda mevcut.
/home: Bildiğiniz üzere Linux türevlerinin çok çok çok büyük bir kısmı çok kullanıcılı yapıyı destekliyor ve tüm bu kullanıcıların dosyalarının bir yerde tutulması gerekiyor. Windows'ta C:/ sürücüsü altında bulunan Users klasörü kullanılıyorken Linux'ta /home klasörü kullanılıyor.
Bu klasör altında sadece aktif olan kullanıcının değil, sistemde kayıtlı tüm kullanıcılar için ayrı bir alt klasör var.
/lib: library yani kütüphane kelimesinin kısaltması olan bu dizinde, gerek sistemin (işletim sisteminin) gerekse kurduğunuz dillere ait olan kütüphaneler tutuluyor.
Ayrıca kurduğunuz frameworklerde bu dizin altında tutuluyor.
/sbin: Sistem tarafından kullanılan programlar, işletim sistemi programları ve terminal üzerinden çalışan bazı program ve komutlar bu dizin içerisinde tutulmaktadır.
/boot Bilgisayar açıldıktan sonra işletim sisteminin çalışabilmesi için gerekli olan dosyalar bu dizinde tutulur ve sistemin açılması için gereklidir. Kısacası bu dizini silerseniz Linux açılmaz, ikinci bi işletim sistemi olarak başka bir Linux dağıtımı yada Windows yoksa bilgisayar açılmaz :)
/tmp: temp yani geçici anlamına gelen bu dizinde geçici dosyalar tutuluyor. Yani örneğin sıkıştırılmış dosyaları çıkarırken dosyalar öncelikle geçici bi dizine çıkarılır ve tüm dosyalar çıkarıldıktan sonra asıl sizin istediğiniz yere taşınır. Windows'taki LocalAppData içerisinde bulunan Temp klasörünün Linux'taki karşılığıdır.
Bu klasör içinde bulunan dosyalar bilgisayarı yada kullanıcı oturumunu kapattığınızda silinir.
/usr Kullanıcı programları bu dizinde tutulmakta. Yani siz elle bi program kurduğunuzda (gerek terminal üzerinden gerekse .deb uzantılı çalıştırılabilir dosyalar ile) başarıyla kurulan programlar burada tutulur ve siz bir programı çalıştırmak istediğinizde bu dizin altındaki dosyaları çağrılır. Yani Windows'taki Program Files (x86) ve Program Files klasörlerinin Linux karşılığı.
/var: Programlar tarafından üretilmiş olan log dosyaları, Linux aracılığıyla göndermiş olduğunuz e-maillerin kayıtları (elbette mail içerikleri değil, sadece ne zaman gönderildiği, başarılı mı oldu gibi istatistiki bilgiler) ve yazıcı kuyrukları bu dizin altında tutulur. Diğer dizinlerde olduğu gibi bu dizinde bulunan kayıtları da silebilirsiniz fakat yazıcıdan o anda bir şey çıkarıyorsanız, yazıcı abuk subuk şeyler yapabilir, silerken dikkatli olun :)
/proc: Kernelle ilgili, donanım kullanımları ve sistemle ilgili bilgilerin tutulduğu dizindir ve sistemi her açtığınızda (bilgisayarı yeniden başlatmak yada kapatıp açmak) bu dizinde bulunan dosyalar yeniden oluşturulur.
Dizin içerisinde bulunan dosyaları silmeniz halinde kernelde sorunlar olabilir ve bilgisayarı yeniden başlatmak zorunda kalabilirsiniz.

Evet Linux'ta kök dizine bağlı olan ve önemli olan dizinler bu kadardı, bu dizinlerin ne işe yaradığını iyi bilmeniz Linux kullanmanızı daha kolaylaştıracak ve profesyonelleşme yolunda bir adım daha atmış olacaksınız :)

Linux dosya yapısının hepsini anlatmak sayfalar sürer ve eminim ki bu yazıya gelen 10 kişiden 9,9 kişi hepsini okuyamazdı, o yüzden bu yazımızı bu kadar ile sınırlandıralım ve kalanları başka yazılara bırakalım.
Tüm Linux sohbetlerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.


  • İçeriği Paylaş:

İÇERİĞİ DEĞERLENDİR

Toplam Değerlendirme Sayısı: 0
Toplam Değerlendirme: 0 / 5

Cevap Yaz