Linux'te /bin/, /sbin/, and /usr/ dizinlerine genel bakış

Katılım
21 Temmuz 2020
Mesajlar
12
Linux birden çok dosya bölümüyle, bu bölümleri dosya ağacı içerisindeki bir yerlere kolayca bağladığı için, rahat bir şekilde ilgilenebilir. İlk bağlama noktası, ilk bölümlemede yani "/" da bulunur.

"df -hT" komutuyla mesala /dev/sdax'in etx4 dosya tipine sahip olan root (/) dizini altına bağlı olduğunu görebiliriz. Bu arada "df" komutu, bağlı olan dosya sisteminin "disk kullanım alanını" bildiren komuttur. Burada görülen her şey aslen bir dosyadır. Örneğin çıktıdaki /dev/sdax bir dosya olarak işlenmiştir fakat o diskteki bir bölüme ya da bölümlemeye referans olarak görülür. Yani bu durumda sanal bir disktir denebilir. Ayrıca, bu çıktıda etx4'un yanı sıra vfat ve btrfs gibi farklı dosya sistemlerinin görülmesi, Linux'te aynı dosya yapısı altında farklı dosya sistemlerinin bile yan yana var olabileceğini gösterir.

Linux'ta /bin, /sbin ve /usr dizinleri birbirine çok benzer. Çünkü bunların hepsi sistemin normal veya yönetici kullanıcıları tarafından kullanılan ikili dosyalar içerir.

Linux'de "echo" komutu kısaca, bir "metin satırı" göstermeyi sağlar. Eğer "echo" komutu argüman almadan kullanılırsa, boş bir metin satırı görüntülenir. Fakat herhangi bir argümanla kullanılırsa bunu ekrana bir metin satırı olarak basar. Örneğin; echo "Linux". Bu durumda tek veya çift tırnak içerisinde harf, numara veya diger karakterleri içeren metin, dize (string) olarak adlandırılır. İşte değişkenler de bu string yani dizelerden oluşur. Bash'te bir değişkenin değerini echo komutuyla yazdırmak istiyorsak, o değişkenin önüne "$" sembolünü eklemek zorundayız. Aksi taktirde, sadece değişkenin ismini basar ekrana, değerini değil. Örneğin; BASH_VERSION bir değişken ismi olup bu değişkenin değerini (ki bu durumda bash versiyon bilgisi) yazdırmak için, echo $BASH_VERSION komutu kullanılmalıdır. İşte bu ikili dosyalar bu değişkenler özellikle de PATH değişkeniyle kullanılır. Örneğin; echo $PATH komutu. Bu çıktıdan da anlaşılabileceği gibi, ikili dosyaları kullanabilmemiz için /usr/local/sbin/, /usr/local/bin/, /usr/sbin/, /usr/bin/, /sbin/, veya /bin/ konumundan birinde bulunmaları gerekiyor.

Linux'da temel olarak iki tip ikili dosya kullanılıyor:

1 - Disk üzerinde yer alanlar ===> PATH değişkeni tarafından belirtilen bir dizinde yer alırlar.

2 - Kullandığımız kabuğun (shell) içine inşa edilenler ===> Yerleşik kabuk olarak anılıyorlar.

İste bu iki türü birbirinden ayırt edebilmek için "type" komutu kullanılabilir. Örneğin; "type -a echo" veya "type -a cd" komutları. Çıktı echo'nun bir yerleşik kabuk olduğunu ve /bin/echo' konumunda yer aldığını gösterir. Eğer bir komut (cd, echo gibi), hem yerleşik hem de PATH içeriside yer aliyorsa ikili olduğunu gösterir. Genel bir kural olarak, kullandığınız komutların çoğu PATH'nizde bulunan, diskteki ikili dosyalar olacaktır. Ayrıca bunların çoğu /usr/bin klasöründe belirecektir. Bunların "bin" ve "sbin" gibi ayrılmasının sebebi ise; "sbin" sistem yöneticileri tarafından kullanılan araçları içerirken, "bin" ise normal kullanıcılar tarafından kullanılan araçları içerir.

Sonuç olarak ikili dosyaların genel amacı: işimizi gerçekleştirmek için ihtiyacımız olan araçları sağlamaktır. Yani disk bakımı, ağ yapılandırması ve güvenlik duvarı ile ilgili araçlar bulunur.

"bin" klasörleri, dosya sistemi işlemleri ile ilgili kullanılan araçları(dosya veya klasörler oluşturma ve silme gibi.) , arşivleme, sistem hakkımda bilgi listeleme gibi araçlarla ilgilenir.

Üst seviye bir klasör olan /sbin ile /usr/sbin arasındaki fark ise: sisteme özel ikili dosyalar /usr/sbin klasörlerinde konumlanırken; temel araçlar ise /sbin klasöründe konumlanır.

Son olarak, /usr/local/(s)bin/ klasörleri ise paket yükleyicisi yerine manuel olarak yani el ile yüklediğimiz ikili dosyalar için kullanılırlar. Ayrıca /usr klasoru ikili dosyalardan daha fazlasını içerir. Bazı kütüphaneler ve çeşitli dosyalar gibi.
 
Son düzenleyen: Moderatör:

Yeni konular

Geri
Yukarı