Hard link Soft Link Nedir, ln komutu ile Sembolik Link Oluşturma

Her şeyin dosya olduğu Linux sistemlerde hard link, soft link nedir şeklindeki sorular her zaman karşımıza çıkıyor. symlink ve soft link Linux ln komutu ile doğrudan ilgilidir.  Bu yazımızda ln komutu kullanımı ile hard link, soft link, sembolik link gibi kavramlara bakacağız. Linux ln komutu nasıl kullanılır beraberce bakacağız.

Hardlink nedir, hard link oluşturma ln ile nasıl yapılır

Hard link nedir, doğrudan dosyayı gösteren adrestir. Yine karışık olduksa şöyle bakalım. Linux sistemdeki /root/dosya.txt aslında tabi ki sistem diskimizde fiziksel bir numerik adrese denk geliyor. Linux seviyesinde bu inode numarası oluyor. Hard linki aynı olan dosyaların bu numarası da aynı oluyor. Test için şöyle yapalım, hard link verme işlemi için aşağıdaki komutları çalıştıralım:

touch dosya1
ln dosya1 dosya2
ls -li file1 file2

çıktı aşağı yukarı şöyle olacaktır

27267209 -rwxrwxrwx 2 root root 0 Aug 20 20:31 dosya1
27267209 -rwxrwxrwx 2 root root 0 Aug 20 20:31 dosya2

Görüldüğü gibi baştaki numara aynı. Eğer bu dosyalardan birini düzenlersek öbürü de düzenleniyor. Hatta düzenlenme tarihleri bile aynı oluyor, hard link vermenin sonuçlarından biri bu:

Hard link verme
Hard link oluşturma işlemi bize inode numarası aynı iki dosya verdi

Güzel yanı ise şu, dosyalardan birini silsek bile içeriği kaybetmiyoruz ? . Bir nevi yedekleme gibi bir sistem oluşuyor. Tüm hardlinkler silinene kadar dosya sistemimizde kayıtlı kalıyor. Güvenlik amaçlı bir çok yerde kullanılabiliyor.

Sembolik link, Symlink oluşturma ve ln komutu ile Soft link verme

Symlink, Sembolik link, soft link bunların hepsi aynı dosya bağlama teknikleri. Hard linklerden farklı olarak sembolik linkler kısayol gibi çalışır. Tabi kısayol kullanarak değiştirdiğimiz dosya yine değişir. Ana dosyayı sildiğimizde kısayol hedefsiz kalır. Yani soft linkler aslında sistemdeki başka bir dosyanın adresini tutar. softlink oluşturma işlemi şöyle:

touch dosya1
ln -s dosya1 dosya2
ls -la

soft link, symlink verme

Soft link verme işlemini ln -s ile yaptık. Ekran çıktısında ise dosya2’nin symlink olduğunu rahatlıkla görebiliyoruz. Bu dosyayı düzenlersek ana dosya da düzenlecek:

soft link sembolik link nedir
symlink nedir
symlink nedir sorusunun cevabı bu. inode numaralarının ayrı olduğundan anlaşılacağı gibi symlink dosyadan ayrık bir kısayoldur.

Burada hem düzenlenme tarihlerinin hem de inode numaraların farklı olduğunu görüyoruz. Yani kısayol dosyadan aslında bağımsız. Soft link kullanarak dosyayı değiştirdik. Soft link değişmedi, dosya değişti. Bunların ikisinin ayrı iki nesne olduğunu böylece görmüş oluyoruz.  lrwxrwxrwx kısmında da dosya2‘nin aslında dosya değil link olduğunu bize söylüyor. Yani bu dosya sistemindeki ayrı bir kayıt. Tabi soft linkler hard link’deki gibi diskte ayrı yer kaplamaz. Ana dosyayı sildiğiniz anda soft link boşa çıkar.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir