Linux Dosya Sistemi

Linux dosya sisteminde birtakım operasyonel ve kavramsal meseleler

Adem Ok
6 min readOct 11, 2023

Merhabalar Linux keşfimde edindiğim kavramsal ve operasyonel deneyimleri sizlerle paylaşıyor olacağım.Öncelikle en temel şey ile başlamak istiyorum.

Shell (Kabuk) Nedir?

-Kullanıcıların işletim sistemiyle iletişimini sağlayan programlardır.

-Terminale yazdığımız komutları işletim sistemine iletir.

-Komutların çıktılarını da bize yani kullanıcılara iletir.

-Farklı kabuk programları bulunur, ancak Linux sistemlerinde genellikle «bash» kullanılır.

Hostname ile bilgisayarımızın ismini görüntüleyebiliriz;

hostname

Linux’taki tüm varsayılan dizinlerin ne işe yaradığını hatırlamak ilk başta zor olabilir. İşte Linux dizin yapısını gösteren küçük bir “cheat sheet”.

Öncelikle aşağıdaki görselle genel duruma bakalım.

Şimdi bu dosya yapısındaki tüm kırılımlara tek tek bakalım.

/ root

  • Linux işletim sistemlerinde en yetkili kullanıcı olarak “root” kullanıcısı varsayılan şeklinde tanımlıdır ve /root/ dizini root kullanıcısının ana dizinidir.”/” kök dizini ile “/root/” dizini birbirinden tamamen farklı dizinlerdir,karıştırılmamalıdır.
  • Her dosya ve dizin root dizinden başlar.

/bin — Users Binaries

  • Çalıştırılabilir Binary dosyalarını içerir.
  • Sistemin açılması ve çeşitli kontroller için ihtiyaç duyulan komutlar bu dizinde bulunur.
  • Tek kullanıcılı modlarda kullanmanız gereken genel linux komutları bu dizin altında bulunur.

Komut:

cd bin ls
  • Sistemin tüm kullanıcılarının kullandığı komutlar burada yer alır.
  • Örneğin: ps, ls, ping, grep, cp.

/sbin System Binaries

  • Sistem yöneticisinin sistemi yöneteceği programlar yer alır.
  • /bin gibi /sbin de çalıştırılabilir binary dosyaları içerir.
  • Ancak bu dizinin altında bulunan linux komutları genellikle sistem yöneticisi tarafından sistem bakımı amacıyla kullanılır.
  • Örnek : iptables, reboot, fdisk, ifconfig, swapon

/etc Configuration Files

  • Tüm programların gerektirdiği konfigürasyon dosyalarını içerir.
  • Bu aynı zamanda bireysel programları başlatmak/durdurmak için kullanılan başlatma ve kapatma komut dosyalarını da içerir.
  • Örneğin: /etc/resolv.conf, /etc/logrotate.conf

/dev Device Files

  • Cihaz dosyalarını içerir.
  • Bunlara terminal aygıtları, USB veya sisteme bağlı herhangi bir aygıt dahildir.
  • Örneğin: /dev/tty1, /dev/usbmon0

/proc Process Information

  • Sistem süreci hakkında bilgi içerir.
  • Sahte bir dosya sistemidir ve çalışan süreç hakkında bilgi içerir.Örneğin: /proc/{pid} dizini söz konusu pid ile ilgili işlem hakkında bilgi içerir.
  • Sistem kaynakları hakkında metin bilgileri içeren sanal bir dosya sistemidir.Örneğin: /proc/uptime

/var Variable Files

  • var, değişken dosyalar anlamına gelir.
  • Büyümesi beklenen dosyaların içeriği bu dizin altında bulunabilir.
  • Bunlar — sistem günlük dosyaları (/var/log);paketler ve veritabanı dosyaları (/var/lib);e-postalar (/var/mail);yazdırma kuyrukları (/var/spool);dosyaları kilitle (/var/lock);yeniden başlatmalarda gereken geçici dosyalar (/var/tmp);

/tmp Temporary Files

  • Sistem ve kullanıcılar tarafından oluşturulan temp dosyalarını içerir.
  • Sistem yeniden başlatıldığında bu dizinin altındaki dosyalar silinir.

/usr — User Programs (Unix System Resources)

  • “Unix Sistem Kaynakları”nın kısaltması olarak da bilinir
  • İkinci seviye programlar için binary dosyaları, kütüphaneleri, belgeleri ve kaynak kodunu içerir. -/usr/bin kullanıcı programları için binary dosyalar içerir./bin altında bir kullanıcı binary dosyası bulamazsanız, /usr/bin altına bakınız.Örneğin: at, awk, cc, less, scp -/usr/sbin sistem yöneticileri için binary dosyalar içerir./sbin altında bir sistem binary dosyası bulamazsanız, /usr/sbin altına bakınız.Örneğin: atd, cron, sshd, useradd, userdel
  • /usr/lib, /usr/bin ve /usr/sbin için kütüphaneler içerir.
  • /usr/local kaynaktan yüklediğiniz kullanıcı programlarını içerir.Örneğin, Apache’yi kaynaktan yüklediğinizde, /usr/local/Apache2 altına gider.

/home Home Directory

  • Kullanıcıların ana dizinidir.
  • Her yeni kullanıcı yaratıldığında onun adında dizin yaratılır.Bu dizin altında o kullanıcıya ait desktop,documents,downloads gibi klasörler yer alır.
  • Tüm kullanıcıların kişisel dosyalarını depolayabilecekleri dizindir Örneğin: /home/username

/boot — Boot Loader Files

  • Sistem boot olurken ihtiyaç duyduğu tüm dosyaları içerir.
  • Çekirdek initrd, vmlinux, grub dosyaları /boot altında bulunur.

/lib — System Libraries

  • Sistemin boot olması kök dosya sistemi içerisinde koşulacak komutların çalıştırılması için gerekli kernel modüllerin (çekirdek bileşenleri) ve başka uygulama kütüphaneleri de yer alır.
  • /bin ve /sbin altında bulunan binary dosyaları destekleyen kütüphane dosyalarını içerir.
  • Kütüphane dosya adları Id* veya lib*.so.* dır -Örneğin : Id-2.11.1.so,libncurses.so.5.7

/media

  • Çıkarılabilir cihazların geçici olarak tutulduğu lokasyondur.

/opt — Optional add-on Applications

  • Sonradan kurduğumuz uygulamalara ait klasörler burada tututlur.
  • opt isteğe bağlı anlamına gelir. -Eklenti uygulamalarını içerir.
  • -uygulamaları /opt/ veya /opt/ alt dizini altına kurulmalıdır.

/mnt -Mount Directory

  • Sistem yöneticilerinin dosya sistemlerini bağlayabileceği geçici bağlama dizini.

/srv -Service Data

  • srv hizmet anlamına gelir.
  • Sunucuya özgü hizmetlerle ilgili verileri içerir.
  • Örneğin, /srv/cvs CVS ile ilgili verileri içerir.

Temel Linux Komutları

En sık kullanılan 15 Linux komutuna bakacağız.Şimdi uygulamalı olarak Linux komutlarını inceleyelim.

1.ls

Bu Linux komutu, makinemizin geçerli çalışma dizininde bulunan tüm dosya ve dizinlerin bir listesini gösterir.

Komut:

Öncelikle bulunduğumuz lokasyonu pwd komutu ile sorgulayalım;

karşımıza çıkan sonuç:

bu şu demek oluyor bulunduğumuz lokasyon dosya yapısının en tepesindeyiz. ls komutu ile bu lokasyondaki tüm dosyaları listeleyebileceğiz.

ls~

İlgili kod ,home directory altında yer alan dosyaları listeler.

Yukarıda görüldüğü gibi home dizinindeki dosyaları listeleyebildik.

ls -ltr

Bu komut , komutta adı geçen dosyayı gösterecek ve o dosyanın tüm ayrıntılarını verecektir.

2.df

“df” “disk dosya sistemi”dir.Bu komutun asıl görevi, Linux sisteminizin dosya sistemindeki toplam kullanılabilir disk alanının ve kullanılan disk alanının ayrıntılı bir özet listesini göstermektir.

df -h

‘-h’ parametresi, Linux dosya sisteminizde kullanılan ve mevcut olan toplam disk alanının özetini okunabilir biçimde görüntülemek için kullanılır; bu, ayrıntıları bayt, MB (megabayt) ve GB (gigabayt) biçiminde gösterdiği anlamına gelir.

3.mkdir

Linux dosya sistemimizde yeni bir klasör oluşturmak istiyorsak “mkdir” komutunu kullanmamız gerekmektedir.Örneğin “mkdir test_folder”, bu komut Linux dosya sistemimizde test_folder adında bir klasör oluşturacaktır.

İç içe oluşturmak için -p parametresi kullanılır.

4.rmdir

Bu komut, bir directory nesnesininin tamamını Linux dosya sisteminizden kaldırmak için kullanılır.Bu komutun çalıştırılması, adını ve ardından rmdir yazdığınız dosyayı silecektir.Örneğin — “rmdir test_folder”, bu, mevcut çalışma dizinimizde bulunan test_folder adlı directory nesnesini siler kaldıracaktır.

İçi dolu bir klasörü silmek için rm komutunu -r parametresiyle kullanmalıyız.

5.pwd

Bize o anda bulunduğumuz veya çalıştığımız dizinin adını verir ve o dizinin yolunu gösterir.

6.cd

“cd” değişiklik dizinidir.Adından da anlaşılacağı üzere bu komutun Linux’un en kullanışlı komutu olduğu açıktır.Bu komutun yardımıyla kullanıcı istediği zaman istediği dizine kolaylıkla gidebilir.Bu komut, kullanıcının mevcut çalışma dizinini, kullanıcının gezinmek istediği dizin adına değiştirir.

cd .. #bir üst dizine döner
cd ~ #root dizinine gider
cd – #bir önceki dizine döner
cd / #en üst dizine döner

7.clear

Komut satırını temizler

8.mv

Dosya/klasör taşımak veya yeniden adlandırmak için kullanırız.

9.cp

Kopyalama işlemini gerçekleştirir.

10.cat

İçeriği görüntüler

11.du

“du” terimi “Disk Yardımcı Programı”nın kısa biçimidir.Bu komutun asıl görevi, diskteki bir dosyanın/dizinin ne kadar yer kapladığıyla ilgili ayrıntıları size göstermektir.

12.touch

Bu komut, kullanıcının mevcut çalışma dizininde belirtilen adda boş bir dosya oluşturur.Kullanıcı herhangi bir değişiklik yapana kadar değişmeden kalan, 0 bayt boyutunda boş bir dosya oluşturulur.

13.who

Linux işletim sisteminizde oturum açmış olan kullanıcıların sayısını görüntüler.

14.date

Geçerli tarihi verir

15.echo

Print görevini üstlenir.

Kavramsal yapı ve temel operasyonel işlemler bunlardı.

Sevgiler 🥰

--

--