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