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.

/bin   : Komut dosyalarını içerir.
/boot  : Boot dosyalarını içerir.
/dev   : Donanımsal dosyaları içerir.
/etc   : Sistem ayar dosyalarını içerir.
/lib   : Kütüphane dosyalarını içerir.
/media : Bazı depolama ortamları için bağlanma noktasıdır.
/mnt   : Bazı depolama ortamları için bağlanma noktasıdır.
/opt   : Üçüncü parti kullanıcı programlarının kurulması içindir.
/sbin  : Root ile ilgili çalıştırabilir dosyaları tutar.
/srv   : Sistemin sunduğu hizmetlerle alakalıdır.
/tmp   : Geçici dosyaları tutmak içindir.
/usr   : Tüm kullanıcılarca paylaşılan verileri içeren dizindir.
/var   : Log dosyaları, e-posta ve yazıcı kuyrukları gibi değişken verileri barındırır.

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.

cd /var/www
pwd
cd ../../home/

Dosya ve Klasör İşlemleri

mkdir

Yeni dizin oluşturmak için kullanılır.

mkdir yeniDizinAdi

Eğer iç içe dizin oluşturulmak istenirse -p parametresi kullanılmalıdır.

mkdir -p ilkDizin/ikinciDizin/sonDizin

Eğer aynı seviyede birden fazla dizin oluşturulması gerekiyorsa dizinler boşluk ile yazılmalıdır.

mkdir birinciDizin ikinciDizin ucuncuDizin

rmdir

Dizin silmek için kullanılır. Ancak silinecek dizinin boş olması gerekmektedir.

rmdir ucuncuDizin

touch

Dosya oluşturmak için kullanılır.

touch yeniDosya
touch ilkDizin/yeniDosya

Eğer birden fazla dosya oluşturulması gerekiyorsa dizinler boşluk ile yazılmalıdır.

touch yeniDosya ikinciDosya ucuncuDosya

Not: touch ile olmayan dizinlerde dosya oluşturulamaz.

cp

Dosyaları veya dizinleri kopyalamak için kullanılır.

cp yeniDosya yeniDosyaYedek
cp config configYedek

Eğer bir dizindeki aynı uzantılı tüm dosyaları kopyalamak istersek,

cp *.sql vtYedek/

Eğer bir dizin ve altındakileri kopyalanmak istenirse -R parametresi kullanılır.

cp -R ilkDizin/ ilkDizinYedek/

mv

mv'nin iki adet kullanım şekli bulunmaktadır. Bunlardan ilki dosya/dizinlerin adlarını değiştirmede kullanımıdır.

mv ilkDizin degistirilmisDizin
mv yeniDosya eskiDosya

mv buna ek olarak dosya/dizinlerin taşınmasında da kullanılır.

mv ilkDizin/ /tmp/ilkDizin

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.

rm eskiDosya

rm komutu ayrıca -r ve -f parametreleri ile beraber de sıkça kullanılır.

-f : Force anlamına gelmektedir ve direkt olarak dosyayı siler.
-r : Silinecek dizin içerisinde başka dosya/dizinler varsa kullanılır.

Eğer dolu bir dizin veya dosyayı onay beklemeden, kesinlikle silinmek isteniyorsa şu şekilde kullanılmalıdır;

rm -rf doluDizin

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.

nano /etc/samba/smb.conf
nano yeniDosya
nano /tmp/Duyuru.txt

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.

vi /projelerim/GO/main.go
vi test.py
vi notlarim

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. 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. 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 updated