|
fazlamesai
|
 |
« : Ağustos 09, 2007, 01:14:44 ÖS » |
|
Dosya Sistemi Hiyerarşi Standardı
linux sistemi üzerindeki bir dizinin planlamasını belirleyen bir belgedir. D.S.H.S'ı, dağıtım-bağımsız yazılım geliştirmeyi daha basit hale getirmek için ortak bir planlama sağlamak amacıyla ortaya atılmıştır. D.S.H.S aşağıdaki dizinleri belirlemektedir. (Direk olarak D.S.H.S spesiı kasyonundan alınmıştır):
/ (kök -root- dizini)
/boot (açılış yükleyiciye -boot loader- ait statik dosyalar) ı /dev (aygıt dosyaları)
/etc (üzerinde çalışılan -host- makinaya ait sistem konı gürasyonu) ı /lib (paylaşılan temel kütüphaneler ve çekirdek modülleri) ı /mnt (bir dosya sistemini geçici olarak bağlamak için bağlantı noktası) ı /opt (Sonradan eklenebilen -add-on{ uygulama yazılım paketleri) ı /sbin (gerekli ikili/çalışabilir -binary- sistem dosyaları) ı /tmp (geçici dosyalar)
/usr (ikincil hiyerarşi) ı /var (değişken bilgiler)
Iki Bağımsız D.S.H.S Kategorisi:
D.S.H.S planlama belirlemesi iki bağımsız dosya kategorisi olduğuı krini temel alır; paylaşılabilir paylaşılamaz, ve değişken - statik. Paylaşılabilir bilgi ana makinalar (hosts) tarafından paylaşılabilir ancak paylaşılmayan bilgi verilen ana makinaya özgüdür (konı gürasyon dosyaları gibi). Değişken bilgi düzenlenebilir ve değiştirilebilirken statik bilgi değiştirilemez (fakat bu kural sistem kurulumu ve bakımı için geçerli değildir.)
Aşağıdaki tablo, bu kategoriler içine girebilecek dizin örnekleri ile bu 4 olası kombinasyonu özetlemektedir. Yine bu tablo da D.S.H.S'den alınmıştır.
+---------+-----------------+-------------+ |
|static |
|variable | /var/mail |
| shareable +---------+-----------------+-------------+ | /usr
/opt
+---------+-----------------+-------------+ | /var/spool/news | /var/lock
| unshareable |
| /etc | /boot | /var/run | |
| |
+---------+-----------------+-------------+
/usr dizinindeki ikincil hiyerarşi
/usr altında, root dosya sistemine çok benzeyen ikincil bir hiyerarşi göreceksiniz. Makina açıkken /usr dizinin olması gerek şart olmadığından bu dizin bir ağ üzerinde paylaşılabilir (\paylaşılabilir") ya da bir CD-ROM içinden bağlanabilir (\statik"). Bir çok Linux kurulumunda /usr dizinin paylaşımı kullanılmasa da root daki birincil hiyerarşi ile /usr deki ikincil hiyerarşi arasındaki farkı gözetmenin faydasını algılamak ı cok önemlidir.
Burada D.S.H.S'si ile ilgili söylenecekler bu kadardır. Dokümanın kendisi oldukça kolay anlaşılır olduğundan daha ayrıntılı bilgi için kullanabilirsiniz. Eğer dokümanı okursanız Linux D.S.H.S'si hakkında daha bir çok şey öğreneceğinizin kesin olduğunu söyleyebiliriz.
Dosyaları bulmak
Linux sistemleri içlerinde yüzlerce dosya barındırmaktadır. Her ne kadar bu dosyaların yerlerini kaybetmeyecek kadar usta olsanız bile, büyük bir ihtimalle bir tanesini bulmak için arasıra yardıma ihtiyaç duyacaksınız. Linux'te dosyaları bulmak için birkaç tane farklı araç yer almaktadır. Aşağıdaki konu başlıkları bu araçları göstermekte ve işiniz için gerekli olan doğru araÇ bulmanıza yardımcı olmaktadır.
PATH
Bir programı komut satırında çalıştırdığınızda, kabuk aslında bir grup dizin arasında yazdığınız komutu aramaktadır. örneğin, ls yazdığınızda, kabuk gerçekte bu komutun /usr/bin altında yer aldığını bilemez. Onun yerine dizinlerin tutulduğu ve birbirlerinden iki nokta ile ayrıldığı PATH çevre değişkenine başvurur. PATH'in içinde yazılı olan değeri görmek için aşağıdaki gibi yazabiliriz:
$ echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin: /usr/local/sbin:/usr/local/bin:/usr/games:.
PATH değişkeninin sahip olduğu bu değere göre (sizdeki değişkenin değeri farklı olabilir, kabuk yazılan ls komutu için öncelikle /usr/local/bin daha sonra /usr/bin altında arama yapacaktır. Büyük bir ihtimalle ls /usr/bin altında yer almaktadır, bu yüzden kabuk burada komut arama işlemini bitirecektir.
PATH'i düzenlemek
Elemanlar atayarak kendi PATH değişkeninizi değiştirebilirsiniz:
$ PATH=$PATH:~/bin
$ echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:
/usr/local/sbin:/usr/local/bin:/usr/games:.:/home/knoppix/bin
Ayrça, her ne kadar mevcut olan PATH değişkenini kullanmak kadar kolay olmasa da PATH değişkeni içerisinden bazı elemanları silmeniz de mümkündür. Bunun için en iyi yol, olmasını istediğiniz yeni PATH değerinin yazmaktır:
$ PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:~/bin $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/knoppix/bin
which" hakkında her şey
Aradığınız programın PATH ile verilen dizinlerden birinde olup olmadığını which komutu ile bulabilirsiniz. • Orneğin, aşağıdaki komut ile Linux sistemimizin sağduyuya sahip olup olmadığını sorgulayabiliriz:
$ which sagduyu
Aşağıdaki örnekte ise ls komutunun nerede bulunduğunu görebiliriz:
$ which ls
/usr/bin/ls "which -a"
Son olarak -a seçeneğine dikkat etmelisiniz. Bu seçenek kullanıldığında which komutu PATH değişkeninde tanımlı tüm dizinlerde aradığınız programın olup olmadığını gösterir:
$ which -a ls
/bin/ls
whereis
Eğer bir programın yerini öğrenmek dışında onunla ilgili daha çok bilgiye erişmek istiyorsanız whereis komutunu denemelisiniz:
$ whereis ls
ls: /bin /bin/ls /usr/share/man/man1/ls.1.gz
Buradan görürüz ki ls programı iki dizinde bulunmaktadır, /bin and /usr/bin. Buna ek olarak /usr/share/man dizininde de ls ile ilgili bir man sayfası olduğu bilgisini ediniriz. man ls yazdığınızda karşınıza gelen sayfa yukarıda belirtilen sayfadır. whereis aynı zamanda kaynak arama, alternatif arama yolları tanımlama ve sıradışı girdileri arama gibi özelliklere de sahiptir. Detaylı bilgi için lütfen whereis man sayfasını inceleyin.
nd nd alet çantanızdaki araçlardan biridir.ı nd komutu ile artık sadece program dosyaları ile sınırlı deı gilsiniz, her türlü dosyayı çok çeşitli kriterlere göre arayabilirsiniz. örneğin /usr/share/doc dizini ve alt dizinlerinde README dosyasını bulmak için şu komutu vermeniz yeterlidir:
$ find /usr/share/doc -name README
/usr/share/doc/aalib1/README
/usr/share/doc/adduser/examples/README /usr/share/doc/afio/README
nd ve joker karakterler
-name parametresine değer geçerken dosya açılımındaki (glob) joker karakterleri kullanabilirsiniz ancak bu durumda onları çift tırnak içine almanız veya önlerine ters bölü (backslash) koymanız gerekir (ki bash tarafından açılmayıpı nd komutuna oldukları gibi gönderilebilsinler). örneğin uzantıya sahip README dosyalarını bulmak için şu komutu verebiliriz:
$ find /usr/share/doc -name README\*
/usr/share/doc/LANG/fr/xtel/READMEıIMINITEL.txt.gz /usr/share/doc/a2ps/README.gz
/usr/share/doc/aalib1/README
nd ile küçük büyük harf ayrımı yapmadan aramak
Elbette arama yaparken büyük küçük harf ayrımı yapmak istemeyebilirsiniz:
$ find /usr/share/doc -name '[Rr][Ee][Aa][Dd][Mm][Ee]*'
Veya daha basit olarak:
$ find /usr/share/doc -iname readme\*
Gördüğünüz gibi -iname seçeneği büyük küçük harf ayrımını ortadan kaldırır.
|