ln : Dosya bağlantıları oluşturmak için kullanılır. Parametresiz kullanıldığında Symbolic ( soft ) link oluşturulur. ln-s şeklinde kullanıldığında ise hardlink oluşturur.
Örnek : Burada ;
-linuxlink adındaki dizine dosya1 dosyası oluşturduk.
-echo ile içine deneme yazdırdık.
-cat ile içine baktık.
-ln -s kullanarak dosya1softlink adında dosya oluşturduk.
-ln kullanarak dosya1hardlink adında dosya oluşturduk ve bunları ll ile gördük.
hakan linuxlink # touch dosya1
hakan linuxlink # echo "deneme" > dosya1
hakan linuxlink # cat dosya1 
deneme
hakan linuxlink # ln -s dosya1 dosya1softlink
hakan linuxlink # ll
total 12
drwxr-xr-x 2 root  root  4096 May 16 18:13 ./
drwxr-xr-x 4 hakan hakan 4096 May 16 18:12 ../
-rw-r--r-- 1 root  root     7 May 16 18:13 dosya1
lrwxrwxrwx 1 root  root     6 May 16 18:13 dosya1softlink -> dosya1
hakan linuxlink # ln dosya1 dosya1hardlink
hakan linuxlink # ll
total 16
drwxr-xr-x 2 root  root  4096 May 16 18:13 ./
drwxr-xr-x 4 hakan hakan 4096 May 16 18:12 ../
-rw-r--r-- 2 root  root     7 May 16 18:13 dosya1
-rw-r--r-- 2 root  root     7 May 16 18:13 dosya1hardlink
lrwxrwxrwx 1 root  root     6 May 16 18:13 dosya1softlink -> dosya1
Softlink ve Hardlink arasındaki fark ?
Soft link oluşturduğumuz dosyanın orjinal dosyasını sildiğimizde softlink kullanılamaz. Ama hardlink kullanılır.
Örnek :
hakan linuxlink # rm -f dosya1
hakan linuxlink # ll
total 12
drwxr-xr-x 2 root  root  4096 May 16 18:17 ./
drwxr-xr-x 4 hakan hakan 4096 May 16 18:12 ../
-rw-r--r-- 1 root  root     7 May 16 18:13 dosya1hardlink
lrwxrwxrwx 1 root  root     6 May 16 18:13 dosya1softlink -> dosya1
hakan linuxlink # cat dosya1hardlink 
deneme
hakan linuxlink # cat dosya1softlink 
cat: dosya1softlink: No such file or directory
Gördüğünüz gibi softlinkten dosyayı açmak istediğimizde açamadık.
Aralarındaki farkın görselleştirmiş halleride aşağıdaki gibidir.
Bir dosyanın kaç tane hardlinke sahip olduğunuda stat komutuyla görebiliriz.
Örnek : stat ile dosyanın kaç tane hardlink bağlantısı olduğunu göreceğiz.
hakan linuxlink # touch ornek2
hakan linuxlink # ln ornek2 ornek2hardlink1
hakan linuxlink # ln ornek2 ornek2hardlink2
hakan linuxlink # ll
total 12
drwxr-xr-x 2 root  root  4096 May 16 18:24 ./
drwxr-xr-x 4 hakan hakan 4096 May 16 18:12 ../
-rw-r--r-- 1 root  root     7 May 16 18:13 dosya1hardlink
lrwxrwxrwx 1 root  root     6 May 16 18:13 dosya1softlink -> dosya1
-rw-r--r-- 3 root  root     0 May 16 18:24 ornek2
-rw-r--r-- 3 root  root     0 May 16 18:24 ornek2hardlink1
-rw-r--r-- 3 root  root     0 May 16 18:24 ornek2hardlink2
hakan linuxlink # stat ornek2
  File: ‘ornek2’
  Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: 802h/2050d    Inode: 4328590     Links: 3
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-05-16 18:24:31.151731102 +0300
Modify: 2016-05-16 18:24:31.151731102 +0300
Change: 2016-05-16 18:24:46.027731500 +0300
 Birth: -
inode numaraları hardlinklerin hiçbirinde değişmez. Buda zaten yukarıdaki görsellerde anlatıldığı gibi dosyanın orjinali silinse dahi hardlinklerin çalışmasının sebebidir.


Hiç yorum yok:
Yorum Gönder