Merhaba dostlarım,
kaldığımız yerden devam ediyoruz. konular birbirleri ile bağlantılıdır. Sırasıyla takip etmeniz rica olunur.
Dosya Sistemi Yapısı
Dosya donanım üzerinde disk,disket,CD vb.. herhangi bir isimdeki bir bilgi grubudur. Linuxda dosya ismi ve bulunduğu dizin ile belirlenir. Dolaysıyla aynı dizin içinde belirli bir isimde sadece 1 tane dosya bulunabilir. Eğer aynı isimde bir kaç tane veya daha fazla dosya oluşturmak isterseniz bunları herbiri farklı dizinde olacak şekilde oluşturabilirsiniz. Dizin kavramı ise bildiğiniz gibi, disk içinde belirli bir isimle tanımlanmış disk bölgesi anlamındadır. Bu konulara yeni başlayanlar genellikle dosya ve dizin kavramını karıştırırlar. Bir dizin içerisinde çok sayıda dizin ve dosya bulunabilir fakat dosya içerisinde dizin bulunmaz.
Dosya isimleri 255 karakteri aşamaz. Tüm büyük harfler (A-Z), küçük harfler (a-z), rakamlar (0-9) ve noktalama işaretlerinden bir bölümü (. , _ -) dosya ve dizin isimlendirirken kullanılabilir. Dosya isimlerinde türkçe karakterler ve özel semboller kullanılamaz.
En Populer Dosya Turleri
Bilgisayar ortamında çok çeşitli tipte dosyalarla karşılaşmak söz konusudur. Bunlardan en yaygın olarak karşılaşılabilecek olanları aşağıdaki sınıflarda toplamak mümkündür.
1 - Sistem Dosyaları
Bunlar bilgisayar sisteminin işletimi ile ilgili dosyalarıdır. Genellikle bu tür dosyalar Linux işletim sisteminin okuyarak sistem işletimi için kullandığı metin tipinde dosyalardır. Linux sistem sorumlusu bu tür sistem dosyalarının güncellenmesinden sorumludur. Örneğin sisteme yeni bir kullanıcı eklense ya da sistemden yani bir kullanıcı çıksa kullanıcı sistem dosyasının güncellenmesi gerekir.
2 - Kullanıcı Veri Dosyaları
Bu tip dosyalar, Linux işletim sistemini kullanan kullanıcıların oluşturduğu ya da güncellediği dosyalardır. Bunlarda metin tipi dosyalardır. Sayısal ya da alfabetik bilgi içerir.
3 - İcra Edilebilir executable dosyalar
Bu tip dosyalar ise, bilgisayarda doğrudan doğruya çalıştırılabilecek komut içerirler. Belirli amaç için oluşturulmuş komut kümesine program adı veriyoruz. İcra edilebilir dosyalar bu anlamda program dosyalarıdır. Bunların oluşturulması ya da üzerinde değişiklik yapılması özel yazılım ürünleri sayesinde mümkündür. Linux işletim sisteminde çalıştırılabilir dosyaların belli bir uzantıya sahip olması gerekmemektedir. Bir dosyanın çalıştırılıp çalıştırılamayacağı dosyanın izinlerinden anlaşılmaktadır.
Dizin Hiyerarşisi
Dizin Hiyerarşisi, işletim sisteminin, dosyaları diskte tutabilmek için kullandığı yapılar ve yöntemlere verilen addır. Yani bir anlamda “dosyaların diskteki düzenidir” diyebiliriz. Bu düzen kapsamında bir hiyerarşiden bahsedebiliriz. Diğer işletim sistemlerinde olduğu gibi Linux‟ta da, disk, kendine isim verilmiş bir takım bölgelere ayrılır. Bu isimlendirilmiş bölgelere dizin (directory) denilmektedir. Bir dizin içine belirli bir konu ile ilgili çok sayıda dosya konulabilir. Ayrıca bir dizin başka bazı dizinleri de içerebilir. Bir dizinin içerdiği bu dizinlere, o dizine ait alt dizin (subdirectories) adı verilmektedir. Linux‟ta, diskteki diğer bütün dizinleri içeren dizine kök (root) dizin adı verilir. Bir disk içerisinde bir tane kök dizin bulunabileceği yukarıdaki tanımdan anlaşılmaktadır. Kök dizine ebeveyn dizin (parent directory) adı da verilir. Kök dizin altındaki alt dizinlerde kendilerine bağlı alt dizinler içerebilir ve bu yapı belirli bir derinliğe kadar sürebilir. Kök dizin ve onun altındaki alt dizin guruplarından oluşan yapıya ağaç yapısı (tree structure) adı verilmektedir. Kök dizini (root directory) “/” karakteriyle gösterilir. Bir dizin ya da dosyanın; sistemdeki konumu, o dosya/dizinin “yol”uyla belirtilir. Yol; kök dizininden itibaren, o dosya/dizine ulaşmak için geçilmesi gereken dizinlerin “/” işaretiyle birleştirilerek ardışık bir şekilde yazılmasıyla elde edilen ifadedir. Örneğin;
/home/Azrail
yolu, kök dizinindeki, home isimli dizinin içindeki Azrail dizininin konumunu belirtir. Bu ifadede en baştaki “/” kök dizinini belirtmektedir. Aynı şekilde “/usr/share/kde” yolu, kök dizinindeki usr dizininin içindeki, share dizininin içinde bulunan kde dizininin yerini belirtir. Sisteminizde erişilebilir her dizin/dosyanın yeri (diğer disklerdekiler de dâhil olmak üzere) bu şekilde tarif edilebilir.
Bağlama ve Ayırma Kavramları
Bir dosya sistemini/aygıtı erişilebilir kılmak için yapılması gereken işleme “bağlamak” (İng. mount) denir. Bağlama işlemi yapıldıktan sonra, bağlanan aygıta, “bağlama noktası” adı verilen bir dizinden erişilebilir. Bağlama noktası olarak sistemde herhangi bir dizin seçilebilir, fakat birazdan bahsedeceğimiz üzere ön tanımlı bağlama noktaları /mnt'de bulunur. Ayırma (ing. unmount) kavramı da adı üstünde, bir sistemi/aygıtı sistemden ayırmak için kullanılır. Ayrılma sırasında ayrılan aygıta, yapılan birtakım değişiklikler kaydedilir. Bilgisayarınızı kapattığınız zaman sisteminize bağlı tüm aygıtlar otomatik olarak ayrılır. Eğer bilgisayarınızı doğrudan mesela fişi çekerek kapatırsanız, ayırma işlemi sırasında kaydedilecek olan bazı değişiklikler kaydedilemez, bu da sisteminizde birtakım hasarlara yol açabilir. Bu yüzden her zaman böyle durumlardan kaçının.
Kök Dizini
Kök dizini diğer tüm dizin ve dosyaları içeren dizindir. Kök dizinin bulunduğu disk bölümünün sahip olması gereken önemli bir özellik bulunmaktadır. Kök dizinini içeren disk bölümü sistemi tek kullanıcılı açmak için gerekli tüm dosyaları içinde barındırmalıdır. Bu işletim sistemin açılabilmesi için gerekli bir kuraldır. Kök dizininde bulunan dizinlerden ve bu dizinlerin kullanılışlarından kısaca bahsedelim:

/bin: Temel sistem komutlarını (ls, cd, cp) içerir.
/sbin: Sistem yöneticisinin (root) çalıştıracağı kritik komutları barındırır.
/boot: Sistem açılışı (önyükleme) için gerekli kernel ve GRUB dosyalarını tutar.
/dev: Tüm donanım bileşenlerini (diskler, klavye, fare) temsil eden özel dosyaları saklar.
/etc: İşletim sisteminin ve yüklü programların yapılandırma (ayar) dosyalarını içerir.
/home: Kullanıcıların kişisel dosyalarını (Masaüstü, Belgeler) sakladığı ev dizinidir.
/root: Sistem yöneticisinin (root kullanıcısı) özel ev dizinidir.
/lib: Sistem komutları ve programlar için gerekli paylaşılan kütüphane dosyalarını tutar.
/media: USB bellek ve CD-ROM gibi takılabilir cihazların otomatik bağlandığı yerdir.
/mnt: Yönetici tarafından elle bağlanan (mount) geçici dosya sistemleri içindir.
/opt: Üçüncü parti yazılımların (Chrome, Discord vb.) yüklendiği isteğe bağlı dizindir.
/proc: Çalışan süreçlerin (proseslerin) ve kernel bilgilerinin tutulduğu sanal dizindir.
/sys: Çekirdek ve donanım etkileşim bilgilerini içeren bir diğer sanal alandır.
/tmp: Geçici dosyaların yazıldığı ve sistem yeniden başladığında genellikle temizlenen alandır.
/usr: Kullanıcı programlarını, dökümanları ve kütüphaneleri (ikincil hiyerarşi) barındırır.
/var: Log dosyaları, veritabanları ve e-postalar gibi sürekli değişen (deşken) verileri tutar.
Ana Dizizn
Linux her kullanıcı için, o kullanıcıya ait olan bir ana dizin (home directory) sağlamaktadır. Bu ana dizin içinde, kullanıcıya ait çeşitli dosyalar bulunabilir ya da kullanıcı bu ana dizin içerisinde başka alt dizinler oluşturabilir. Bir kullanıcının home dizinin nerede açılacağı Linux tarafından belirlenir ve kullanıcı tarafından bu yer değiştirilemez. Bir kullanıcının ana dizini içine normal olarak diğer kullanıcılarda girebilir; kullanıcıya ait dosyaları okuyabilir ve kopyalayabilir. Sadece dosyalar üzerinde değişiklikler ve dosyaları silme işlemini gerçekleştiremezler. Bir kullanıcı, kendi home dizini içerisinde diğer kullanıcıların girmesini istemiyorsa bu durumda kendi dizin ve dosyaları üzerine erişim kısıtlaması ya da kilit getirmelidir. Burada bir noktayı belirtmede yarar vardır; sisteme root olarak giren (login olan) kullanıcı sistem yöneticisidir (system administrator) ve sistemdeki bütün dosya ve dizinlerin üzerinde bu dosyalar ve dizinler kilitli bile olsa her türlü işlem yapabilir. O nedenle sistem yöneticisi güvenli bir kişi olmalıdır.
Bu bölümümüzün de sonuna gelmiş bulunmaktayız. Bir sonraki bölümde ise artık Linux komutlarımızı öğrenmeye başlayacağız. Herkese başarılar diliyorum.
Müfredat: https://imhateam.org/forum/threads/linux-bash-script-bolum-0-tanitim-ve-mufredat.29447/
kaldığımız yerden devam ediyoruz. konular birbirleri ile bağlantılıdır. Sırasıyla takip etmeniz rica olunur.
Dosya Sistemi Yapısı
Dosya donanım üzerinde disk,disket,CD vb.. herhangi bir isimdeki bir bilgi grubudur. Linuxda dosya ismi ve bulunduğu dizin ile belirlenir. Dolaysıyla aynı dizin içinde belirli bir isimde sadece 1 tane dosya bulunabilir. Eğer aynı isimde bir kaç tane veya daha fazla dosya oluşturmak isterseniz bunları herbiri farklı dizinde olacak şekilde oluşturabilirsiniz. Dizin kavramı ise bildiğiniz gibi, disk içinde belirli bir isimle tanımlanmış disk bölgesi anlamındadır. Bu konulara yeni başlayanlar genellikle dosya ve dizin kavramını karıştırırlar. Bir dizin içerisinde çok sayıda dizin ve dosya bulunabilir fakat dosya içerisinde dizin bulunmaz.
Dosya isimleri 255 karakteri aşamaz. Tüm büyük harfler (A-Z), küçük harfler (a-z), rakamlar (0-9) ve noktalama işaretlerinden bir bölümü (. , _ -) dosya ve dizin isimlendirirken kullanılabilir. Dosya isimlerinde türkçe karakterler ve özel semboller kullanılamaz.
En Populer Dosya Turleri
Bilgisayar ortamında çok çeşitli tipte dosyalarla karşılaşmak söz konusudur. Bunlardan en yaygın olarak karşılaşılabilecek olanları aşağıdaki sınıflarda toplamak mümkündür.
1 - Sistem Dosyaları
Bunlar bilgisayar sisteminin işletimi ile ilgili dosyalarıdır. Genellikle bu tür dosyalar Linux işletim sisteminin okuyarak sistem işletimi için kullandığı metin tipinde dosyalardır. Linux sistem sorumlusu bu tür sistem dosyalarının güncellenmesinden sorumludur. Örneğin sisteme yeni bir kullanıcı eklense ya da sistemden yani bir kullanıcı çıksa kullanıcı sistem dosyasının güncellenmesi gerekir.
2 - Kullanıcı Veri Dosyaları
Bu tip dosyalar, Linux işletim sistemini kullanan kullanıcıların oluşturduğu ya da güncellediği dosyalardır. Bunlarda metin tipi dosyalardır. Sayısal ya da alfabetik bilgi içerir.
3 - İcra Edilebilir executable dosyalar
Bu tip dosyalar ise, bilgisayarda doğrudan doğruya çalıştırılabilecek komut içerirler. Belirli amaç için oluşturulmuş komut kümesine program adı veriyoruz. İcra edilebilir dosyalar bu anlamda program dosyalarıdır. Bunların oluşturulması ya da üzerinde değişiklik yapılması özel yazılım ürünleri sayesinde mümkündür. Linux işletim sisteminde çalıştırılabilir dosyaların belli bir uzantıya sahip olması gerekmemektedir. Bir dosyanın çalıştırılıp çalıştırılamayacağı dosyanın izinlerinden anlaşılmaktadır.
Dizin Hiyerarşisi
Dizin Hiyerarşisi, işletim sisteminin, dosyaları diskte tutabilmek için kullandığı yapılar ve yöntemlere verilen addır. Yani bir anlamda “dosyaların diskteki düzenidir” diyebiliriz. Bu düzen kapsamında bir hiyerarşiden bahsedebiliriz. Diğer işletim sistemlerinde olduğu gibi Linux‟ta da, disk, kendine isim verilmiş bir takım bölgelere ayrılır. Bu isimlendirilmiş bölgelere dizin (directory) denilmektedir. Bir dizin içine belirli bir konu ile ilgili çok sayıda dosya konulabilir. Ayrıca bir dizin başka bazı dizinleri de içerebilir. Bir dizinin içerdiği bu dizinlere, o dizine ait alt dizin (subdirectories) adı verilmektedir. Linux‟ta, diskteki diğer bütün dizinleri içeren dizine kök (root) dizin adı verilir. Bir disk içerisinde bir tane kök dizin bulunabileceği yukarıdaki tanımdan anlaşılmaktadır. Kök dizine ebeveyn dizin (parent directory) adı da verilir. Kök dizin altındaki alt dizinlerde kendilerine bağlı alt dizinler içerebilir ve bu yapı belirli bir derinliğe kadar sürebilir. Kök dizin ve onun altındaki alt dizin guruplarından oluşan yapıya ağaç yapısı (tree structure) adı verilmektedir. Kök dizini (root directory) “/” karakteriyle gösterilir. Bir dizin ya da dosyanın; sistemdeki konumu, o dosya/dizinin “yol”uyla belirtilir. Yol; kök dizininden itibaren, o dosya/dizine ulaşmak için geçilmesi gereken dizinlerin “/” işaretiyle birleştirilerek ardışık bir şekilde yazılmasıyla elde edilen ifadedir. Örneğin;
/home/Azrail
yolu, kök dizinindeki, home isimli dizinin içindeki Azrail dizininin konumunu belirtir. Bu ifadede en baştaki “/” kök dizinini belirtmektedir. Aynı şekilde “/usr/share/kde” yolu, kök dizinindeki usr dizininin içindeki, share dizininin içinde bulunan kde dizininin yerini belirtir. Sisteminizde erişilebilir her dizin/dosyanın yeri (diğer disklerdekiler de dâhil olmak üzere) bu şekilde tarif edilebilir.
Bağlama ve Ayırma Kavramları
Bir dosya sistemini/aygıtı erişilebilir kılmak için yapılması gereken işleme “bağlamak” (İng. mount) denir. Bağlama işlemi yapıldıktan sonra, bağlanan aygıta, “bağlama noktası” adı verilen bir dizinden erişilebilir. Bağlama noktası olarak sistemde herhangi bir dizin seçilebilir, fakat birazdan bahsedeceğimiz üzere ön tanımlı bağlama noktaları /mnt'de bulunur. Ayırma (ing. unmount) kavramı da adı üstünde, bir sistemi/aygıtı sistemden ayırmak için kullanılır. Ayrılma sırasında ayrılan aygıta, yapılan birtakım değişiklikler kaydedilir. Bilgisayarınızı kapattığınız zaman sisteminize bağlı tüm aygıtlar otomatik olarak ayrılır. Eğer bilgisayarınızı doğrudan mesela fişi çekerek kapatırsanız, ayırma işlemi sırasında kaydedilecek olan bazı değişiklikler kaydedilemez, bu da sisteminizde birtakım hasarlara yol açabilir. Bu yüzden her zaman böyle durumlardan kaçının.
Kök Dizini
Kök dizini diğer tüm dizin ve dosyaları içeren dizindir. Kök dizinin bulunduğu disk bölümünün sahip olması gereken önemli bir özellik bulunmaktadır. Kök dizinini içeren disk bölümü sistemi tek kullanıcılı açmak için gerekli tüm dosyaları içinde barındırmalıdır. Bu işletim sistemin açılabilmesi için gerekli bir kuraldır. Kök dizininde bulunan dizinlerden ve bu dizinlerin kullanılışlarından kısaca bahsedelim:

/bin: Temel sistem komutlarını (ls, cd, cp) içerir.
/sbin: Sistem yöneticisinin (root) çalıştıracağı kritik komutları barındırır.
/boot: Sistem açılışı (önyükleme) için gerekli kernel ve GRUB dosyalarını tutar.
/dev: Tüm donanım bileşenlerini (diskler, klavye, fare) temsil eden özel dosyaları saklar.
/etc: İşletim sisteminin ve yüklü programların yapılandırma (ayar) dosyalarını içerir.
/home: Kullanıcıların kişisel dosyalarını (Masaüstü, Belgeler) sakladığı ev dizinidir.
/root: Sistem yöneticisinin (root kullanıcısı) özel ev dizinidir.
/lib: Sistem komutları ve programlar için gerekli paylaşılan kütüphane dosyalarını tutar.
/media: USB bellek ve CD-ROM gibi takılabilir cihazların otomatik bağlandığı yerdir.
/mnt: Yönetici tarafından elle bağlanan (mount) geçici dosya sistemleri içindir.
/opt: Üçüncü parti yazılımların (Chrome, Discord vb.) yüklendiği isteğe bağlı dizindir.
/proc: Çalışan süreçlerin (proseslerin) ve kernel bilgilerinin tutulduğu sanal dizindir.
/sys: Çekirdek ve donanım etkileşim bilgilerini içeren bir diğer sanal alandır.
/tmp: Geçici dosyaların yazıldığı ve sistem yeniden başladığında genellikle temizlenen alandır.
/usr: Kullanıcı programlarını, dökümanları ve kütüphaneleri (ikincil hiyerarşi) barındırır.
/var: Log dosyaları, veritabanları ve e-postalar gibi sürekli değişen (deşken) verileri tutar.
Ana Dizizn
Linux her kullanıcı için, o kullanıcıya ait olan bir ana dizin (home directory) sağlamaktadır. Bu ana dizin içinde, kullanıcıya ait çeşitli dosyalar bulunabilir ya da kullanıcı bu ana dizin içerisinde başka alt dizinler oluşturabilir. Bir kullanıcının home dizinin nerede açılacağı Linux tarafından belirlenir ve kullanıcı tarafından bu yer değiştirilemez. Bir kullanıcının ana dizini içine normal olarak diğer kullanıcılarda girebilir; kullanıcıya ait dosyaları okuyabilir ve kopyalayabilir. Sadece dosyalar üzerinde değişiklikler ve dosyaları silme işlemini gerçekleştiremezler. Bir kullanıcı, kendi home dizini içerisinde diğer kullanıcıların girmesini istemiyorsa bu durumda kendi dizin ve dosyaları üzerine erişim kısıtlaması ya da kilit getirmelidir. Burada bir noktayı belirtmede yarar vardır; sisteme root olarak giren (login olan) kullanıcı sistem yöneticisidir (system administrator) ve sistemdeki bütün dosya ve dizinlerin üzerinde bu dosyalar ve dizinler kilitli bile olsa her türlü işlem yapabilir. O nedenle sistem yöneticisi güvenli bir kişi olmalıdır.
Bu bölümümüzün de sonuna gelmiş bulunmaktayız. Bir sonraki bölümde ise artık Linux komutlarımızı öğrenmeye başlayacağız. Herkese başarılar diliyorum.
Müfredat: https://imhateam.org/forum/threads/linux-bash-script-bolum-0-tanitim-ve-mufredat.29447/
Bu içeriği görmek için giriş yapın.