Takip et

Linux Dosya Sistemi Hiyerarşisi: Her Kullanıcının Bilmesi Gerekenler

Linux işletim sistemine yeni başlayanlar için en kafa karıştırıcı konulardan biri, dosya sisteminin Windows’tan ne kadar farklı olduğudur.

Linux Dosya Sistemi Hiyerarşisi: Her Kullanıcının Bilmesi Gerekenler

Linux işletim sistemine yeni başlayanlar için en kafa karıştırıcı konulardan biri, dosya sisteminin Windows’tan ne kadar farklı olduğudur. C: sürücüsü yok, farklı disk bölümleri harflerle değil, dizinlerle temsil ediliyor. Peki, bu karmaşık görünen yapı aslında ne anlama geliyor ve neden bu kadar düzenli? Bu makalede, Linux Dosya Sistemi Hiyerarşisi (FHS – File System Hierarchy Standard) kavramını derinlemesine inceleyecek, her bir ana dizinin amacını açıklayacak ve bu bilginin sistem yönetimi, uygulama geliştirme ve günlük kullanımda size nasıl yardımcı olacağını göstereceğiz. Linux’un kalbindeki bu mantıksal düzeni anlamak, sisteminiz üzerinde tam kontrol sağlamanın ve sorunları hızla gidermenin anahtarıdır.

Linux Dosya Sistemi Hiyerarşisi (FHS) Nedir ve Neden Önemlidir?

Linux dosya sistemi, tek bir büyük ağaç yapısı olarak düşünülebilir ve bu ağacın en tepesinde “kök dizin” (root directory) olarak adlandırılan / bulunur. Windows’taki C: sürücüsü gibi sabit disk harfleri yerine, Linux’ta tüm depolama cihazları, ağ paylaşımları ve hatta sanal dosya sistemleri bu kök dizinin altına monte edilir (bağlanır). Bu yapı, Dosya Sistemi Hiyerarşisi Standardı (FHS) adı verilen belirli bir standarda göre düzenlenmiştir. FHS, Linux dağıtımları arasında tutarlılık sağlamak amacıyla geliştirilmiştir; yani bir Ubuntu sisteminde gördüğünüz dizin yapısı, Fedora veya Debian’da da büyük ölçüde aynı olacaktır. Bu standardizasyon, yazılımcıların uygulamaları farklı Linux dağıtımlarında sorunsuz çalışacak şekilde geliştirmelerini kolaylaştırırken, sistem yöneticilerinin de farklı sistemler arasında geçiş yaparken daha az zorlanmasını sağlar.

Peki, bu standardizasyonun bize ne gibi faydaları var? İlk olarak, bir dosyanın nerede olması gerektiğini veya bir uygulamanın yapılandırma dosyalarının nerede bulunacağını tahmin etmemizi sağlar. Örneğin, sistem genelindeki yapılandırma dosyalarını arıyorsanız, doğrudan /etc dizinine bakmanız gerektiğini bilirsiniz. Kullanıcıların kendi kişisel dosyalarının /home dizini altında olduğunu bilmek, veri yedekleme stratejileri geliştirirken veya yeni bir kullanıcı hesabı oluştururken size yol gösterir. Ayrıca, sistemin temel ikili dosyaları (komutlar) ile kullanıcı tarafından yüklenen uygulamaların ikili dosyaları arasında net bir ayrım yapar. Bu ayrım, sistemin güvenliğini artırır ve bakımı kolaylaştırır. FHS’yi anlamak, yalnızca dosya bulmayı kolaylaştırmakla kalmaz, aynı zamanda sistemin nasıl çalıştığına dair derinlemesine bir kavrayış sunar. Bu bilgi, özellikle sorun giderme (troubleshooting) ve sistem optimizasyonu süreçlerinde paha biçilmezdir. Yanlış bir dizine yazılan bir dosya veya eksik bir yapılandırma, tüm sistemi etkileyebilir, bu yüzden bu hiyerarşiyi doğru anlamak, Linux ekosisteminde sağlam bir temel oluşturmanın ilk adımıdır.

Temel Linux Dizinleri ve Amaçları Nelerdir?

Linux dosya sistemi hiyerarşisi, her biri belirli bir amaca hizmet eden çok sayıda dizinden oluşur. Bu dizinlerin her birini anlamak, sisteminizde neyin nerede olduğunu bilmenizi sağlar. İşte en temel ve sıkça kullanılan dizinler:

  • / (Kök Dizin – Root Directory): Tüm dosya sistemi hiyerarşisinin başlangıç noktasıdır. Tüm diğer dizinler ve dosyalar bu dizinin altındadır. Sistemdeki her şeyin en üst seviyesidir.
  • /bin (İkili Dosyalar – Binaries): Temel kullanıcı komutlarını (ikili dosyalar) içerir. Örneğin, ls, cp, mv gibi günlük hayatta sıkça kullandığımız komutlar burada bulunur. Bu komutlar, sistemin tek kullanıcılı modda bile çalışabilmesi için gereklidir.
  • /sbin (Sistem İkili Dosyaları – System Binaries): Sistem yönetimi için gerekli olan ikili dosyaları içerir. Bu komutlar genellikle yalnızca root (yönetici) kullanıcısı tarafından çalıştırılır. Örneğin, fdisk, fsck, reboot gibi komutlar burada yer alır.
  • /etc (Yapılandırma Dosyaları – Etcetera): Sistem genelindeki yapılandırma dosyalarını içerir. Kullanıcı hesapları, ağ ayarları, program yapılandırmaları gibi önemli ayarlar burada bulunur. Örneğin, /etc/passwd kullanıcı bilgilerini, /etc/fstab dosya sistemi bağlama noktalarını tutar.
  • /home (Kullanıcı Ev Dizinleri – Home Directories): Normal kullanıcıların kişisel dosyalarını ve yapılandırmalarını sakladığı dizinlerdir. Her kullanıcı için ayrı bir dizin (örneğin, /home/kullaniciadi) bulunur. Bu dizinlerde belgeler, resimler, masaüstü ayarları gibi kişisel veriler yer alır.
  • /var (Değişken Veriler – Variable Data): Sürekli değişen ve büyüyen verileri içerir. Log dosyaları (/var/log), geçici internet dosyaları, e-posta kuyrukları (/var/mail) ve veritabanları (/var/lib/mysql) gibi veriler burada saklanır. Sistem çalışırken boyutu artan dosyalar için ideal bir yerdir.
  • /usr (Unix Sistem Kaynakları – Unix System Resources): Kullanıcı programları ve yardımcı programlar için salt okunur (read-only) verileri içerir. Uygulama ikili dosyaları (/usr/bin), kütüphaneler (/usr/lib) ve paylaşılan belgeler (/usr/share) gibi sistemin büyük bir kısmını oluşturan dosyalar burada yer alır. FHS’ye göre /usr dizini, sistemin “ikincil hiyerarşisi” olarak kabul edilir.
  • /opt (İsteğe Bağlı Yazılımlar – Optional): Üçüncü taraf (third-party) veya isteğe bağlı yazılımların kurulduğu dizindir. Genellikle büyük, kendi kendine yeten yazılım paketleri (örneğin, Google Chrome, Visual Studio Code) buraya kurulur. Her uygulama kendi alt dizinine yerleştirilir (örneğin, /opt/google/chrome).
  • /tmp (Geçici Dosyalar – Temporary): Uygulamalar ve kullanıcılar tarafından oluşturulan geçici dosyaları içerir. Sistem yeniden başlatıldığında veya belirli aralıklarla bu dizindeki içerik otomatik olarak silinir. Hassas veriler burada saklanmamalıdır.
  • /dev (Cihaz Dosyaları – Devices): Sistemdeki donanım cihazlarını temsil eden özel dosyaları içerir. Her donanım cihazı (sabit diskler, USB aygıtları, fare, klavye vb.) burada bir dosya olarak temsil edilir. Örneğin, /dev/sda ilk sabit diski temsil eder.
  • /proc (İşlem Bilgileri – Processes): Çekirdek (kernel) ve işlem (process) bilgilerini içeren sanal bir dosya sistemidir. Gerçek disk üzerinde bulunmaz, RAM’de tutulur ve sistem durumu hakkında bilgi sağlar. Örneğin, /proc/cpuinfo işlemci bilgilerini gösterir.
  • /sys (Sistem Bilgileri – System): Donanım aygıtları ve çekirdek hakkında bilgileri içeren bir başka sanal dosya sistemidir. /proc‘a benzer şekilde gerçek disk üzerinde yer almaz ve sistemdeki cihazların durumunu ve ayarlarını gösterir.
  • /mnt (Geçici Bağlama Noktası – Mount Point): Geçici olarak bağlanan dosya sistemleri (örneğin, manuel olarak bağlanan USB sürücüler veya ağ paylaşımları) için geleneksel bir bağlama noktasıdır.
  • /media (Çıkarılabilir Ortam – Removable Media): CD-ROM’lar, DVD’ler, USB bellekler gibi çıkarılabilir medya aygıtlarının otomatik olarak bağlandığı yerdir.
  • /srv (Servis Verileri – Service Data): Sunucu tarafından sağlanan hizmetlere (örneğin, web sunucusu dosyaları, FTP verileri) özel verileri içerir. Örneğin, bir web sunucusu için site dosyaları /srv/www altında bulunabilir.

Bu temel dizinleri anlamak, Linux sisteminde gezinirken ve dosya yönetimi yaparken size büyük kolaylık sağlayacaktır. Her bir dizinin belirli bir işlevi olması, sistemin düzenli ve öngörülebilir olmasını sağlar.

Gerçek Dünya Senaryolarında FHS Bilgisi Nasıl Hayat Kurtarır?

Linux Dosya Sistemi Hiyerarşisi’ni (FHS) anlamak, teorik bir bilgi olmaktan öte, günlük sistem yönetimi ve sorun giderme (troubleshooting) süreçlerinde kritik bir rol oynar. İşte FHS bilgisinin gerçek dünya senaryolarında nasıl değerli olduğunu gösteren birkaç vaka analizi:

Vaka Analizi 1: Disk Alanı Doluluğu Sorunu ve Log Yönetimi

Bir web sunucusu yöneticisi olduğunuzu varsayalım. Bir sabah, sunucunuzun performansının aniden düştüğünü ve web sitelerinin yavaşladığını fark ettiniz. Hızlı bir kontrolle, sunucunun ana disk bölümünün neredeyse tamamen dolu olduğunu gördünüz. Bu durumda ilk aklınıza gelecek yerlerden biri /var dizini olmalıdır, çünkü /var/log altında sistem ve uygulama günlükleri (log files) tutulur ve bu dosyalar zamanla çok büyük boyutlara ulaşabilir. Yöneticimiz hemen SSH ile sunucuya bağlanır ve aşağıdaki komutu kullanarak disk kullanımını kontrol eder:

df -h /

Bu komut, kök dizinindeki (/) disk kullanımını insan tarafından okunabilir bir formatta gösterir. Ardından, en çok yer kaplayan dizinleri bulmak için /var dizini altında bir tarama yapar:

sudo du -sh /var/* | sort -rh

Bu komut, /var altındaki tüm dizinlerin boyutunu özetler ve en büyükten en küçüğe doğru sıralar. Yöneticimiz, /var/log dizininin anormal derecede büyük olduğunu fark eder. İçine girip daha detaylı incelediğinde, belirli bir uygulamanın veya sistem servisinin çok fazla hata kaydı oluşturduğunu görür. Bu bilgiyle, gereksiz eski günlük dosyalarını silebilir veya günlük rotasyon (log rotation) ayarlarını düzenleyebilir. FHS bilgisi sayesinde, sorunun kaynağını hızlıca /var/log dizinine indirgeyerek zaman ve emek tasarrufu sağlamış olur.

Vaka Analizi 2: Uygulama Kurulumu ve PATH Değişkeni Sorunları

Yeni bir geliştirici ekibinize katıldı ve belirli bir komut satırı aracını (örneğin, mytool adında özel bir derleyici) sistem genelinde kullanması gerekiyor. Geliştirici, aracı indirdi ve /home/kullaniciadi/mytool dizinine açtı. Ancak, terminalde mytool yazdığında “komut bulunamadı” hatası alıyor. Bu durumda, FHS bilgisi devreye girer. Yöneticimiz, sistem genelindeki yürütülebilir dosyaların (executable files) genellikle /bin, /usr/bin, /usr/local/bin veya /opt gibi dizinlerde bulunduğunu bilir. Bir kullanıcının kendi ev dizinindeki bir komutu doğrudan çalıştırmak için, ya tam yolunu belirtmesi ya da komutun bulunduğu dizini PATH ortam değişkenine eklemesi gerekir. En iyi uygulama, bu tür bir aracı sistem genelinde kullanılabilir hale getirmek için /usr/local/bin dizinine sembolik bir bağlantı (symlink) oluşturmak veya doğrudan oraya taşımaktır:

sudo cp /home/kullaniciadi/mytool/mytool /usr/local/bin/
sudo chmod +x /usr/local/bin/mytool

Böylece, mytool komutu tüm kullanıcılar tarafından doğrudan terminalden çalıştırılabilir hale gelir. FHS’nin bu kuralı, sistemin düzenini korur ve uygulamaların nerede bulunması gerektiği konusunda net bir rehberlik sağlar. Yanlış yerlere konulan yürütülebilir dosyalar, güvenlik açıklarına veya sistem karmaşasına yol açabilir. Bu senaryo, FHS’nin sadece dosyaların yerini belirlemekle kalmayıp, aynı zamanda sistemin işleyişini ve kullanılabilirliğini nasıl etkilediğini de göstermektedir.

Bu vaka analizleri, FHS’nin sadece teorik bir kavram olmadığını, aksine Linux sistemleriyle çalışan herkes için pratik ve vazgeçilmez bir bilgi olduğunu açıkça ortaya koymaktadır. Doğru dizinleri bilmek, sorunları daha hızlı teşhis etmenizi, sistemi daha verimli yönetmenizi ve güvenliği artırmanızı sağlar.

Adım Adım Linux Dosya Sisteminde Nasıl Gezinilir ve Yönetilir?

Linux dosya sisteminde gezinmek ve dosyaları yönetmek, birkaç temel komutla oldukça kolaydır. Bu bölüm, sıfırdan başlayanlar için adım adım bir rehber sunarken, aynı zamanda ileri düzey kullanıcılar için de bazı ipuçları içerecektir.

1. Neredeyim? Mevcut Dizinimi Öğrenme (pwd)

Bir terminal oturumu başlattığınızda, genellikle kendi ev dizininizde (/home/kullaniciadi) başlarsınız. Mevcut çalışma dizininizi (present working directory) öğrenmek için pwd komutunu kullanın:

pwd

Çıktı olarak /home/kullaniciadi gibi bir şey göreceksiniz. Bu, dosya sistemi hiyerarşisinde nerede olduğunuzu gösteren tam yoldur.

2. Dizinler Arasında Geçiş Yapma (cd)

Dizinler arasında geçiş yapmak için cd (change directory) komutunu kullanırız. Bu komutun birkaç farklı kullanımı vardır:

  • Mutlak Yol ile Geçiş: Kök dizinden (/) başlayarak tam yolu belirtirsiniz. Örneğin, yapılandırma dosyalarının olduğu /etc dizinine gitmek için:
    cd /etc

    Şimdi pwd yazarsanız, /etc çıktısını görürsünüz.

  • Göreceli Yol ile Geçiş: Mevcut dizininize göre bir alt veya üst dizine geçiş yaparsınız. Örneğin, /etc dizinindeyken apache2 yapılandırma dizinine gitmek için:
    cd apache2

    Şimdi pwd yazarsanız, /etc/apache2 çıktısını görürsünüz.

  • Bir Üst Dizine Gitme: .. (iki nokta) kullanarak bir üst dizine dönebilirsiniz:
    cd ..

    Şimdi pwd yazarsanız, tekrar /etc çıktısını görürsünüz.

  • Ev Dizinine Dönme: Hiçbir argüman vermeden cd komutunu kullanmak sizi doğrudan ev dizininize götürür:
    cd

    Veya ~ (tilde) sembolünü kullanabilirsiniz:

    cd ~

3. Dizin İçeriğini Listeleme (ls)

Bir dizinin içeriğini (dosyalar ve alt dizinler) listelemek için ls komutunu kullanırız:

  • Basit Listeleme:
    ls

    Bu komut, mevcut dizindeki dosya ve dizin adlarını listeler.

  • Detaylı Listeleme: -l (long) argümanı ile dosya izinleri, sahibi, boyutu ve son değiştirilme tarihi gibi detaylı bilgileri görebilirsiniz:
    ls -l

  • Gizli Dosyaları Gösterme: Linux’ta nokta (.) ile başlayan dosyalar ve dizinler gizlidir. Bunları görmek için -a (all) argümanını kullanın:
    ls -a

  • En Sık Kullanılan Kombinasyon: Genellikle ls -la veya ls -lh (insan tarafından okunabilir boyutlar için) kullanılır.
    ls -lh /var/log

    Bu komut, /var/log dizinindeki tüm dosyaları ve dizinleri detaylı bir şekilde ve boyutlarını KB, MB, GB cinsinden gösterir.

4. Dizin ve Dosya Oluşturma (mkdir, touch)

  • Dizin Oluşturma: mkdir (make directory) komutu ile yeni bir dizin oluşturabilirsiniz:
    mkdir yeni_dizin

    Eğer birden fazla iç içe dizin oluşturmanız gerekiyorsa, -p (parents) argümanını kullanabilirsiniz:

    mkdir -p projelerim/web/frontend

  • Boş Dosya Oluşturma: touch komutu ile boş bir dosya oluşturabilir veya mevcut bir dosyanın erişim/değişiklik zaman damgasını güncelleyebilirsiniz:
    touch yeni_dosya.txt

5. Dosya ve Dizinleri Kopyalama, Taşıma ve Silme (cp, mv, rm, rmdir)

  • Kopyalama (cp):
    cp kaynak_dosya hedef_dizin/hedef_dosya

    Dizin kopyalamak için -r (recursive) argümanı gereklidir:

    cp -r kaynak_dizin hedef_dizin

  • Taşıma/Yeniden Adlandırma (mv):
    mv eski_ad yeni_ad

    mv dosya.txt hedef_dizin/

  • Silme (rm, rmdir):
    rm dosya.txt

    Boş dizinleri silmek için rmdir kullanılır:

    rmdir bos_dizin

    Dolu dizinleri ve içeriklerini silmek için rm -r kullanılır (dikkatli olun, geri dönüşü yoktur!):

    rm -r silinecek_dizin

    Zorla silmek için -f (force) argümanı ile birleştirilebilir: rm -rf silinecek_dizin. Bu komut çok tehlikelidir ve yalnızca ne yaptığınızdan eminseniz kullanılmalıdır.

Bu temel komutlar, Linux dosya sisteminde etkili bir şekilde gezinmenizi ve dosyalarınızı yönetmenizi sağlar. Pratik yaparak bu komutları pekiştirmek, Linux kullanımında hızla ustalaşmanıza yardımcı olacaktır.

İleri Düzey Linux Dosya Sistemi Yönetimi İpuçları ve Püf Noktaları

Linux dosya sistemi hiyerarşisini ve temel komutlarını öğrendikten sonra, daha verimli ve güvenli bir yönetim için bazı ileri düzey ipuçları ve püf noktalarıyla bilginizi pekiştirebilirsiniz. Bu bölüm, deneyimli kullanıcılar için sistemin daha derinlemesine anlaşılmasına ve optimize edilmesine yardımcı olacak konuları ele almaktadır.

1. Sembolik Bağlantılar (Symlinks) ve Sabit Bağlantılar (Hardlinks)

Linux’ta dosyaları ve dizinleri farklı konumlardan erişilebilir hale getirmenin iki ana yolu vardır: sembolik bağlantılar (symbolic links veya soft links) ve sabit bağlantılar (hard links).

  • Sembolik Bağlantılar (ln -s): Bir dosya veya dizine işaret eden bir kısayoldur. Tıpkı Windows’taki kısayollar gibidir. Orijinal dosya silinirse, sembolik bağlantı bozulur. Farklı dosya sistemleri arasında da oluşturulabilir.
    ln -s /usr/local/bin/mytool /home/kullaniciadi/bin/mytool

    Bu, /usr/local/bin/mytool dosyasını /home/kullaniciadi/bin/mytool konumundan erişilebilir kılar.

  • Sabit Bağlantılar (ln): Aynı dosyanın disk üzerindeki fiziksel konumuna işaret eden alternatif bir isimdir. Orijinal dosya silinse bile, sabit bağlantı var olmaya devam eder ve veriye erişilebilir. Ancak, sadece aynı dosya sistemi içinde oluşturulabilir ve dizinler için kullanılamaz.
    ln orijinal_dosya.txt baglanti_dosya.txt

    Sabit bağlantılar, özellikle yedekleme ve veri bütünlüğü senaryolarında faydalı olabilir, ancak dikkatli kullanılmalıdır.

2. Dosya İzinleri (Permissions) ve Sahiplik (Ownership)

Linux’ta her dosya ve dizinin belirli izinleri ve bir sahibi vardır. Bu, sistemin güvenliğini sağlamanın temelidir. ls -l komutuyla izinleri görebilirsiniz:

ls -l dosya.txt

Çıktı şöyle görünebilir: -rw-r--r-- 1 kullaniciadi grupadi 1024 May 10 10:00 dosya.txt

  • İlk karakter (- veya d), dosya türünü (dosya veya dizin) gösterir.
  • Sonraki dokuz karakter (rw-r--r--) izinleri gösterir:
    • İlk üçü sahibin (owner) izinleri (oku, yaz, çalıştır).
    • Ortadaki üçü grubun (group) izinleri.
    • Son üçü diğerlerinin (others) izinleri.

İzinleri değiştirmek için chmod komutu, sahiplik değiştirmek için chown komutu kullanılır. Örneğin, bir dosyayı çalıştırılabilir yapmak için:

chmod +x calistirilabilir_dosya.sh

Bir dosyanın sahibini değiştirmek için (yalnızca root veya sudo yetkileriyle):

sudo chown yeni_sahip:yeni_grup dosya.txt

Doğru izin ve sahiplik ayarları, sisteminizin güvenliğini önemli ölçüde artırır ve yetkisiz erişimi engeller.

3. Disk Alanı Kullanımını İzleme (du ve df)

Sistem yöneticileri için disk alanı yönetimi hayati öneme sahiptir. du (disk usage) ve df (disk free) komutları bu konuda size yardımcı olur.

  • df -h: Tüm bağlı dosya sistemlerinin (disk bölümlerinin) toplam boyutunu, kullanılan alanı, boş alanı ve kullanım yüzdesini insan tarafından okunabilir (human-readable) formatta gösterir. Bu, genel disk durumu hakkında hızlı bir genel bakış sağlar.
  • du -sh /dizin: Belirli bir dizinin (ve alt dizinlerinin) toplam boyutunu özetler. Özellikle hangi dizinin çok yer kapladığını bulmak için kullanışlıdır.
    du -sh /var/log

    Bu komut, /var/log dizininin toplam boyutunu gösterir.

  • du -h --max-depth=1 /dizin: Bir dizinin doğrudan altındaki dizinlerin boyutlarını gösterir, böylece sorunlu alt dizinleri daha kolay tespit edebilirsiniz.

4. Bağlama Noktaları (Mount Points) ve Fstab

Linux’ta tüm dosya sistemleri (disk bölümleri, USB sürücüler, ağ paylaşımları) kök dizin altındaki belirli bağlama noktalarına (mount points) bağlanır. /etc/fstab dosyası, sistem başlangıcında otomatik olarak bağlanacak dosya sistemlerini tanımlar. Bu dosya, sistemin disk düzenini kalıcı olarak belirler ve yanlış yapılandırıldığında sistemin önyüklemesini engelleyebilir. Her satır, bir dosya sistemini, bağlama noktasını, dosya sistemi türünü ve bağlama seçeneklerini belirtir. FHS’ye göre, USB sürücüler genellikle /media altına, manuel olarak bağlananlar ise /mnt altına bağlanır.

cat /etc/fstab

Bu komut, sisteminizdeki kalıcı bağlama noktalarını ve seçeneklerini görmenizi sağlar.

Bu ileri düzey ipuçları, Linux dosya sistemiyle daha derinlemesine etkileşim kurmanıza, sisteminizi daha güvenli ve verimli hale getirmenize olanak tanır. Unutmayın, Linux’ta her şey bir dosyadır ve bu dosyaların nerede, nasıl ve kim tarafından yönetildiğini anlamak, sistem üzerinde tam kontrol sağlamanın temelidir.

Sonuç ve Sıkça Sorulan Sorular

Linux dosya sistemi hiyerarşisi (FHS), ilk bakışta karmaşık görünse de, aslında mantıklı ve düzenli bir yapıdır. Bu makalede ele aldığımız temel dizinler, amaçları ve pratik kullanım senaryoları sayesinde, Linux’un kalbindeki bu düzeni daha iyi anlamış olmalısınız. Kök dizin (/) etrafında şekillenen bu hiyerarşi, sistemin kararlılığını, güvenliğini ve farklı dağıtımlar arasındaki tutarlılığı sağlar. /bin ve /sbin gibi temel komut dizinlerinden, /etc‘deki yapılandırma dosyalarına, /home‘daki kişisel verilere ve /var‘daki değişken günlüklere kadar her dizinin belirli bir rolü vardır. Bu bilgiyi edinmek, sadece dosya bulmayı kolaylaştırmakla kalmaz, aynı zamanda sistem sorunlarını gidermenize, uygulamaları doğru şekilde kurmanıza ve genel olarak Linux deneyiminizi geliştirmenize yardımcı olur. FHS’yi anlamak, Linux ekosisteminde ustalaşmanın temel taşıdır ve bu bilgiyle sisteminiz üzerinde çok daha fazla kontrol ve güvene sahip olacaksınız.

Sıkça Sorulan Sorular (SSS)

  1. Neden Linux’ta C: sürücüsü gibi harfli sürücüler yok?

    Linux, tüm depolama cihazlarını (sabit diskler, USB sürücüler vb.) tek bir ağaç yapısı altında, kök dizin (/) altına bağlama (mount) prensibiyle çalışır. Bu, Windows’un her disk bölümünü ayrı bir harf (C:, D:) ile temsil etmesinden farklıdır. Bu yaklaşım, sistemin daha esnek ve modüler olmasını sağlar, çünkü tüm kaynaklara tek bir hiyerarşi üzerinden erişilebilir.

  2. /bin ve /sbin arasındaki temel fark nedir?

    /bin dizini, tüm kullanıcıların (hem normal kullanıcılar hem de root) kullanabileceği temel komutları (örneğin, ls, cp, mv) içerir. Bu komutlar, sistemin tek kullanıcılı modda bile çalışabilmesi için gereklidir. /sbin dizini ise, genellikle yalnızca root kullanıcısının veya sudo yetkisine sahip kullanıcıların çalıştırabileceği sistem yönetimiyle ilgili komutları (örneğin, fdisk, reboot, ip) içerir. Bu ayrım, sistem güvenliğini artırır.

  3. /tmp dizini ne zaman temizlenir? İçine hassas veri koyabilir miyim?

    /tmp dizini, uygulamalar ve kullanıcılar tarafından oluşturulan geçici dosyaları barındırmak için tasarlanmıştır. Bu dizindeki dosyalar genellikle sistem yeniden başlatıldığında otomatik olarak silinir. Bazı Linux dağıtımları, belirli aralıklarla (örneğin, her 10 günde bir) bu dizini temizleyen mekanizmalara sahiptir. Bu nedenle, /tmp dizinine hassas veya kalıcı olması gereken hiçbir veri konulmamalıdır, çünkü bu verilerin her an silinme riski vardır.

  4. Kendi kişisel dosyalarımı (belgeler, resimler vb.) Linux’ta nereye kaydetmeliyim?

    Kendi kişisel dosyalarınız için en uygun yer, ev dizininizdir (home directory). Bu genellikle /home/kullaniciadi şeklinde bir yola sahiptir. Linux sistemleri, ev dizininiz içinde Belgeler, Resimler, Videolar, İndirilenler gibi standart alt dizinler oluşturur. Bu dizinler, dosyalarınızı düzenli tutmanıza ve yedekleme işlemlerini kolaylaştırmanıza yardımcı olur.

  5. Bir programı nereye kurmalıyım: /usr/bin, /usr/local/bin yoksa /opt?

    Bu, programın türüne ve kurulum şekline bağlıdır:

    • /usr/bin: Sistem tarafından sağlanan, işletim sisteminin bir parçası olan veya paket yöneticisi aracılığıyla kurulan genel amaçlı programların ikili dosyaları buraya yerleştirilir. Elle kurulum için önerilmez.
    • /usr/local/bin: Yerel olarak derlenmiş veya elle kurulan, ancak sistem genelinde tüm kullanıcılar tarafından erişilebilir olması istenen programlar için tercih edilen yerdir. Bu dizin, sistem paket yöneticisi tarafından yönetilen dosyalarla çakışmaz.
    • /opt: Üçüncü taraf (third-party) veya isteğe bağlı yazılım paketlerinin (genellikle kendi bağımlılıklarıyla birlikte gelen büyük uygulamalar) kurulduğu yerdir. Her uygulama genellikle kendi alt dizinini oluşturur (örneğin, /opt/google/chrome).

#Linux #DosyaSistemi #FHS #SistemYönetimi #TerminalKomutları

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.