Sembolik Bağlantılar Nasıl İzlenir?

Sembolik bağlantı (soft link olarak da bilinir), başka bir dosyaya giden bir tür kısayoldur. Linux’ta paylaşılan kitaplıklar için yoğun bir şekilde kullanılır.

Ancak bağlantının hangi orijinal dosyaya işaret ettiğini nasıl bilebilirsiniz?

Bunun için ls komutunu kullanabilirsiniz. Uzun listeleme komutu ls -l sembolik bir bağlantının işaret ettiği yeri gösterir:

ls -l /path/to/file

Örneğin, başka bir diski hedefleyen MyTorrents adlı bir yumuşak bağlantı oluşturduk, böylece komutumuz şöyle olacak:

ls -l /home/sagar/Symbolics/MyTorrents
Find symbolic link using ls command
Orijinal dosyasına işaret eden sembolik bir bağlantı

Ancak bu, orijinal dosyaya giden sembolik bağlantıyı takip etmenin kusursuz bir yolu değildir çünkü bu çok katmanlı bir bağlantıysa (bir dosyaya işaret eden başka bir bağlantıya işaret eden bir bağlantı), ls komutu kaynak dosyayı görüntülemez.

Sembolik bağları takip etmek için aşağıdaki komut satırı araçlarını kullanacağım:

  • readlink
  • realpath
  • stat
  • file

Hedefimize ulaşmak için yapılmış özel bir yardımcı program.

Kullanımı oldukça kolaydır ve her Linux dağıtımında varsayılan olarak mevcuttur. Yani sadece readlink komutuyla bir sembolik bağlantı yolu verin ve sonucu görün.

readlink /path/to/symbolic/link

Sembolik bağlantımız /home/sagar/Symbolics/MyTorrents konumuna yerleştirildi, böylece komutumuz şöyle olurdu:

readlink /home/sagar/Symbolics/MyTorrents
use readlink to find source of symbolic link

Peki ya sembolik bağınız, bir bağlantının diğerine itham edilmesi gibi birden çok katman içeriyorsa? Bu durumda, -f parametresini kullanmanız gerekir.

Bu örnek için, /home/sagar/Documents/NewLink konumunda yeni bir sembolik bağlantı oluşturduk ve bu tür senaryolarla nasıl başa çıkılacağı konusunda daha iyi bir fikir edinmek için diğer bağlantıyla eşleşiyor:

readlink -f /home/sagar/Documents/NewLink
use readlink to get source of symbolic links when dealing with multiple latyers

2. realpath komutunu kullanma

Adından da anlaşılacağı gibi, realpath yardımcı programı dosya ve dizinlerin yolunu bulmak için kullanılır, ancak ilginç olan herhangi bir seçenek olmadan kullanıldığında bizi sembolik bağlantının kaynağına götürebilir.

Herhangi bir seçenek olmadan bile realpath kullanmak, readlink -f kullanmaya eşdeğerdir, bu nedenle başka bir sembolik bağlantıya eşlenme konusunda endişelenmeyin.

Kaynak dosyaya sembolik bağlantıyı takip etmek için realpath’in sözdizimi şöyledir:

realpath /path/to/symbolic/link

Yolu belirledikten sonra, sonuç şöyle görünmelidir:

use realpath command to find source of symbolic link

3. stat komutunu kullanma

stat yardımcı programı, dosyaların durumunu almak için kullanılır ve sembolik bağlantının orijinal kaynağını bulmak için de kullanılabilir.

Sadece stat komutuna sembolik bağlantının bir yolunu verin, o kadar.

stat /path/to/symbolic/link
use stat command to find source of symbolic link

Diğer ayrıntıları gereksiz bulursanız, -c%N seçeneğini kullanarak bunları filtreleyebilirsiniz.

stat -c%N /path/to/symbolic/link
stat command with less clutter showing original source of symbolic link

4. File komutunu kullanma

Dosya komutunu kullanmak oldukça kolaydır ve daha önce diğer örneklerde gördüğünüz sözdizimini takip etmeniz gerekir.

Sembolik bir bağlantı yolu olan bir dosya komutu. Tüm ihtiyacın olan bu!

file /path/to/symbolic/link
use file command to find source of symbolic link

Yazının orijinalini buradan okuyabilirsiniz.

Hüseyin GÜÇ

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım. Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum. Son 6 yıldır  sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum. Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.