

|1.


Bir dizine ya da dosyaya link dosyası oluşturmak için kullanılan Unix komutu. Link dosyaları ilk bakışta Windows'taki kısayollara benzer ama bazı farklar vardır. İki tür link vardır:


1. Sembolik link:
Bu sadece dosyanın pathini saklayan bir kısayol dosyasıdır. Ama işletim sistemi size sanki dosya kısayolun kendisiymiş gibi hizmet verir. Örneğin PHP ile geliştirdiğiniz bütün sitelerinizde kullandığınız library kodlarınızı tek bir dizinde saklayıp, sonra her sitenin kök dizininde library adında bir sembolik link oluşturup, bütün sitelerin library dosyalarını kendi dizinlerinde saklıyormuş gibi gösterebilirsiniz. Bundan sonra PHP kodları gereken library dosyalarını sanki kendi dizinlerindeymiş gibi include edebileceklerdir. Yani include("library/falanca.lib") komutu bütün farklı sitelerde aynı dosyayı include edecektir.
2. Hard link:
Bu ise sembolik link gibi bir kısayol olmaktan çok farklıdır çünkü link verilen dosyanın gerçek bir kopyasını oluşturur. Normal kopyalamadan farkı şudur ki; dosyalardan birini değiştirdiğinizde diğeri de değişir. Ortada iki (veya daha çok) farklı dosya vardır ama bunlar birbirinin mirror'u gibidir.
Örnekler:
ln -s /home/libraryBulunduğunuz dizinde library adında bir sembolik link oluşturur. Bu link /home/library dizininin bir çeşit kısayoludur.
ln /home/libraryBulunduğunuz dizinde library adında bir hard link oluşturur. Bu link /home/library dizininin aynasıdır.
fizikci
25 Aralık 2005 22:01 ~ 26 Aralık 2005 01:36
|2.


line kelimesinin kısaltması olarak karşınıza çıkarsa şaşırmayın.Olur böyle şeyler deyip geçin.


|3.


soft link oluşturduğunuz zaman yapılan şey, bir link dosyası oluşturmak ve asıl dosyanın yerini bu dosyaya yazmaktır. ls -l ile baktığınız zaman soft link yapılan dosyanın boyunun, bağlanılan dosyanın adının boyuyla aynı olduğunu görürsünüz zaten.


Bu yüzden:
/home/sertw dizinindeki "hebele" dosyasına "hede" dosyasını şu şekilde bağlarsanız:
ln -s hebele hede hede'nin boyu 6 olur.{"hebele"nin boyu...}
Ancak,
ln -s `pwd`/hebele hede şeklinde bağlarsanız hede'nin boyu 18 olur. {"/home/sertw/hebele"nin boyu...}
link dosyası olduğu için ls -l yaptığınız zaman lrwxrwxrwx * şeklinde bir belirtim ile karşılaşırsınız.
Hardlink olması ise, aynı C'deki bir struct'a birden çok pointer'ın işaret etmesi gibidir. Dosya sistemindeki birden çok index, harddisk üzerindeki aynı verileri gösteriyordur. Hardlink yapmak yeni bir index eklemektir yani.
Bir dosyayı sildiğiniz zaman ise sadece index'i silinir. Bu yüzden de bir dosyayı gösteren indexlerin sayısı da tutulur. Eğer silme işlemi ile index sayısı 0 olmuşsa, veriniz silinir.
{java'daki garbage collector gibi bir mekanizma diyelim.}
Bu sayede dinlemekte olduğunuz müziği silebilirsiniz sisteminizden. Çünkü müzik çalan program, o dosyayı açmıştır, dolayısıyla kendine bir index edinmiştir.* Siz çalan dosyayı sildiğiniz vakit bir index eksilir, müzik çalan program dosyayı kapattığı vakit de dosya, sistemden tamamen silinir.
Taşıma* işlemi de aynıdır. Bu sayede çalmakta olan dosyanın yerini değiştirebilmektesiniz.
* * *
sertw
26 Aralık 2005 00:49