Linux Link Nedir?

Rümeysa Aktop
Turk Telekom Bulut Teknolojileri
3 min readMar 10, 2023

Hard Link Nedir?

Hard link, dosya sistemlerindeki bir dosyayı farklı bir isim altında (başka bir adla) referans almanıza olanak tanıyan bir dosya bağlantı türüdür.Hard link, orijinal dosyayla aynı inode numarasına sahiptir ve dosya sisteminden silinmedikçe silinmez. Bu nedenle, orijinal dosya silinse bile hard link hala kalır.Hard link, yalnızca aynı dosya sistemine bağlantı kurabilirsiniz. Yani, farklı bir dosya sistemi veya disk bölümünde bulunan dosyalara hard link oluşturamazsınız. Hard link, dosyanın orijinalinin herhangi bir değişikliklerini yansıtır. Çünkü, aslında aynı dosya sistemdeki aynı dosya ile aynı inode’a referans alırlar. Bu nedenle, hard linkli dosyada yapılan herhangi bir değişiklik, orijinal dosyada da görünecektir.

Hard link oluşturmak için ln komutu kullanılır. ln komutu, iki dosya arasında bir bağlantı oluşturur ve hard link oluşturmak için herhangi bir parametre kullanılmaz. Genel kullanımı:

ln [source file] [target file]

Aşağıdaki örnekle, dosya.txt adlı dosya için bir hard link oluşturalım:

touch dosya.txt

Daha sonra dosyanın içine yazı gönderelim:

echo "merhaba, bu bir hard linktir." > dosya.txt

Aşağıdaki komutla dosya.txt adlı dosya için tmp dizini altında bir hard link oluşturalım:

ln dosya.txt /tmp/dosya_hardlink.txt

Şimdi, ls -li komutuyla dosyaların inode numaralarını kontrol edebiliriz.

ls -li

İki dosyanın da aynı inode numarasına sahip olduğunu görebiliriz.

rm -rf dosya.txt komutuyla dosya.txt dosyasını silelim ve ls -l komutuyla dosyaları kontrol edelim.

rm -rf dosya.txt
ls -l

“dosya_hardlink.txt” dosyası hala mevcut olacaktır, çünkü hard link silinmedi.

Sembolik Link Nedir?

Soft link veya sembolik link, dosya sistemleri arasında bağlantı oluşturmak için kullanılan küçük bir dosya türüdür. Sembolik linkler, asıl dosyanın yerine geçer ve ona referans verir. Sembolik link, orijinal dosyayla aynı inode numarasına sahip değildir ve ayrı bir inode numarası oluşur. Sembolik linkler, herhangi bir dosya veya klasörü işaret edebilir ve farklı dosya sistemleri veya cihazlar arasında kullanılabilir. Ayrıca sembolik linkler, dosya adı veya yolu değiştiğinde programların hala doğru dosyaya erişmesini sağlar ve asıl dosya silindiğinde sembolik link bozulur.
Link oluşturmak için ln komutunu kullanabilirsiniz. ln komutu iki dosya arasında bir bağlantı oluşturur ve sembolik link oluşturmak için -s parametresi kullanılır. Genel kullanımı:

ln -s [source file] [symbolic link file]

Aşağıdaki örnekle, dosya.txt adlı dosya için bir sembolik link oluşturalım:

touch dosya.txt

Daha sonra dosyanın içine yazı gönderelim:

echo "merhaba, bu bir sembolik linktir." > dosya.txt

Aşağıdaki komutla dosya.txt adlı dosya için tmp dizini altında bir sembolik link oluşturalım:

ln -s dosya.txt /tmp/dosya_slink.txt

Şimdi, ls -li komutuyla dosyaların inode numaralarını kontrol edebiliriz. Sembolik linklerin inodeları farklı olduğunu görebiliriz.

ls -li

rm -rf dosya.txt komutuyla dosya.txt dosyasını silelim ve ls -l komutuyla dosyaları kontrol edelim.

rm -rf dosya.txt
ls -l

“dosya_slink.txt” dosyası bozulacaktır. aşağıdaki çıktıyı göreceğiz.

cat dosya_slink.txt 
cat: dosya_slink.txt: No such file or directory

Link Uygulamaları

  • Dosya Yedekleme: Bir dosyanın hard link’ini oluşturarak, orijinal dosya değiştirilse bile yedeklenmiş dosyaya erişmeye devam edebilirsiniz.
  • Dosya Paylaşımı: Hard link’ler, birden fazla dosya adı arasında paylaşım sağlayarak disk alanından tasarruf etmenizi sağlar.
  • Program Kurulumu: Sık kullanılan programların kısayollarını oluşturmak için soft link’ler kullanılabilir. Bu sayede programın asıl dosyasının konumu değişse bile kısayoldan erişebilirsiniz.
  • İzin Yönetimi: Bir dosyanın birden fazla kopyası olsa bile, her biri aynı dosya sistemine ait olduğundan izinler aynı kalır.
  • Dosya Sıkıştırma: Sıkıştırılmış dosyalar, dosya boyutunu küçültmek için sık sık kullanılır. Tar, gzip veya bzip2 gibi araçlar, sıkıştırılmış dosyaları oluşturmak için hard link’ler ve sembolik link’lerle birlikte kullanılabilir.
  • Dosya Yönetimi: Hard link’ler ve sembolik link’ler, dosyaları düzenlemede farklı bir yaklaşım sunar. Örneğin, bir sembolik link oluşturarak, dosyalarınızın daha iyi organize edilmesini sağlayabilirsiniz. Bu şekilde, aynı dosyayı birden fazla klasörde kullanarak, dosya sistemini daha verimli hale getirebilirsiniz.

Link oluşturma ve Linux hakkındaki diğer eğitimleri Bulut Bilişimciler platformunda tecrübe edebilirsiniz.

--

--