Dosya Sistemi Yapısı

Hedefler

  • Linux dosya sistemi yapısına hakim olmak
  • Terminal dosya ve dizinleri yönetebilmek.
  • Metin editörleri ile dosyaları düzenlemek

Anahtar Kelimeler

  • mkdir, rmdir, touch, cp, mv, rm
  • nano, vi

Linux Dosya Sistemi

GNU/Linux tabanlı sistemlerde diğer işletim sistemlerine göre farklı bir dosya hiyerarşisi bulunmaktadır. GNU/Linux'da her şey / ile gösterdiğimiz ve root dizini olarak da tabir ettiğimiz kök dizin'den başlar.
Kök dizin tüm hiyerarşinin en üst noktasında yer alır ve diğer tüm dizinler ondan türer.
Kökün altında bulunan bu ana dizinler çeşitli görevler ve kullanım alanlarına göre ayrılmıştır. Adları aynı olsa da dağıtımlara göre kullanım amaçları bile değişebilir. Bu bölümde dizinler, ne işe yaradıkları ve kullanım amaçları en yaygın bilinen hali ile açıklanacaktır.
1
/bin : Komut dosyalarını içerir.
2
/boot : Boot dosyalarını içerir.
3
/dev : Donanımsal dosyaları içerir.
4
/etc : Sistem ayar dosyalarını içerir.
5
/lib : Kütüphane dosyalarını içerir.
6
/media : Bazı depolama ortamları için bağlanma noktasıdır.
7
/mnt : Bazı depolama ortamları için bağlanma noktasıdır.
8
/opt : Üçüncü parti kullanıcı programlarının kurulması içindir.
9
/sbin : Root ile ilgili çalıştırabilir dosyaları tutar.
10
/srv : Sistemin sunduğu hizmetlerle alakalıdır.
11
/tmp : Geçici dosyaları tutmak içindir.
12
/usr : Tüm kullanıcılarca paylaşılan verileri içeren dizindir.
13
/var : Log dosyaları, e-posta ve yazıcı kuyrukları gibi değişken verileri barındırır.
Copied!

Mutlak Adres & Bağıl Adres

Linux dosya sisteminde iki çeşit adres bulunmaktadır. / işareti ile başlayıp kök dizininden itibaren bütün dosya yolunu yazmaya mutlak adres belirtme denir. Bulunduğunuz dizinin alt dizinlerine dair bir adres yazılacaksa buna bağıl adres belirtme denir.
1
cd /var/www
2
pwd
3
cd ../../home/
Copied!

Dosya ve Klasör İşlemleri

mkdir

Yeni dizin oluşturmak için kullanılır.
1
mkdir yeniDizinAdi
Copied!
Eğer iç içe dizin oluşturulmak istenirse -p parametresi kullanılmalıdır.
1
mkdir -p ilkDizin/ikinciDizin/sonDizin
Copied!
Eğer aynı seviyede birden fazla dizin oluşturulması gerekiyorsa dizinler boşluk ile yazılmalıdır.
1
mkdir birinciDizin ikinciDizin ucuncuDizin
Copied!

rmdir

Dizin silmek için kullanılır. Ancak silinecek dizinin boş olması gerekmektedir.
1
rmdir ucuncuDizin
Copied!

touch

Dosya oluşturmak için kullanılır.
1
touch yeniDosya
2
touch ilkDizin/yeniDosya
Copied!
Eğer birden fazla dosya oluşturulması gerekiyorsa dizinler boşluk ile yazılmalıdır.
1
touch yeniDosya ikinciDosya ucuncuDosya
Copied!
Not: touch ile olmayan dizinlerde dosya oluşturulamaz.

cp

Dosyaları veya dizinleri kopyalamak için kullanılır.
1
cp yeniDosya yeniDosyaYedek
2
cp config configYedek
Copied!
Eğer bir dizindeki aynı uzantılı tüm dosyaları kopyalamak istersek,
1
cp *.sql vtYedek/
Copied!
Eğer bir dizin ve altındakileri kopyalanmak istenirse -R parametresi kullanılır.
1
cp -R ilkDizin/ ilkDizinYedek/
Copied!

mv

mv'nin iki adet kullanım şekli bulunmaktadır. Bunlardan ilki dosya/dizinlerin adlarını değiştirmede kullanımıdır.
1
mv ilkDizin degistirilmisDizin
2
mv yeniDosya eskiDosya
Copied!
mv buna ek olarak dosya/dizinlerin taşınmasında da kullanılır.
1
mv ilkDizin/ /tmp/ilkDizin
Copied!

rm

Dosya ve dizinlerin silinmesinde kullanılır. Rm ile bir dosya veya dizinin silinmesi isteniyorsa içinin boş olması gerekir ve gelen sorunun y ile onaylanması gerekir.
1
rm eskiDosya
Copied!
rm komutu ayrıca -r ve -f parametreleri ile beraber de sıkça kullanılır.
1
-f : Force anlamına gelmektedir ve direkt olarak dosyayı siler.
2
-r : Silinecek dizin içerisinde başka dosya/dizinler varsa kullanılır.
Copied!
Eğer dolu bir dizin veya dosyayı onay beklemeden, kesinlikle silinmek isteniyorsa şu şekilde kullanılmalıdır;
1
rm -rf doluDizin
Copied!

Dosya Düzenleyiciler

nano editörü

nano çoğu dağıtım ile beraber kurulu olarak gelen en temel dosya düzenleyicisidir. Basit olması aynı zamanda yalnızca basit işler için kullanımına izin verir. Örneğin basit bir konfigürasyon dosyasını nano ile düzenleyebilir ya da notlarınızı hızlıca bir dosyaya yazabilirsiniz. Ancak çoğu zaman nano ile yazılım geliştirmeniz ya da daha karmaşık işleri halletmeniz mümkün olmayacaktır.
1
nano /etc/samba/smb.conf
2
nano yeniDosya
3
nano /tmp/Duyuru.txt
Copied!
Not : Eğer yazmak istediğiniz dosya yoksa, nano dosyayı direkt olarak oluşturup yazmanıza olanak sağlar.

nano kısayolları

  • CTRL+S : O ana kadar yapılan değişikliklerin kaydedilmesini sağlar.
  • CTRL+W : Dosya üzerinde arama yapılmasını sağlar.
  • CTRL+K : Bulunulan satırı kesmeye yarar.
  • CTRL+U : Kesilen satır işlemini geri alır.
  • CTRL+X : Dosyada yapılan değişiklikler kaydedilmişse direkt çıkar, kaydedilmemiş ise kaydedilsin mi diye sorup çıkmaya yarar.

vi editörü

vi nanoya göre daha karmaşık bir yapıya sahipken, terminal üzerinde yazılım geliştiren çoğu geliştiricinin favori editörüdür.
Temel olarak gezinti ve komut modu olarak iki moda sahiptir. Bunlardan gezinti modunda metin ile alakalı kısayollar kullanılırken, komut modunda ise çık, kaydet ve çık gibi dosya ile alakalı işlemler yapılabilir.
Tıpkı görsel arayüze sahip masaüstü editörleri gibi yazılım geliştirmeye yardımcı çeşitli eklentilere sahiptir.
1
vi /projelerim/GO/main.go
2
vi test.py
3
vi notlarim
Copied!

vi kısayolları

  • Gezinti modu
    • J : Sonraki satır
    • K : Önceki satır
    • H : Sol
    • L : Sağ
  • Komut modu
    • Bir kaç kez esc tuşuna tıklayarak komut moduna geçilir.
    • :w - Yaz
    • :q - Çık
    • :q! - Kaydetmeden çık
    • :wq - Kaydet ve çık

Lab

  1. 1.
    vi düzenleyicide, imleci hareket ettirme veya satırları arabelleğe kopyalama gibi komutlar nasıl birden çok kez verilebilir veya birden çok satıra nasıl uygulanabilir?
  2. 2.
    Tek komut ile aşağıdaki yapıda dizin nasıl oluşturulur.
3. Vi düzenleyicide hangi komut ya da komutlar açılan belgeyi kaydeder ve düzenleyiciden çıkar? 4. deneme1'den başlayarak deneme10'a kadar olan dosyaları tek bir komutla nasıl oluştururuz?
Last modified 2mo ago