Sabit Bağlantılar Linux Nasıl Oluşturulur?

How Create Hard Links Linux



Bağlama, Linux'ta ilginç bir özelliktir. UNIX benzeri işletim sistemlerinde her şey bir dosyadır. Bir dosya temelde bir inode'a, belirli bir dosya hakkında orijinal adı ve gerçek içeriği dışında her şeyi saklayan özel bir veri yapısı tipine bir bağlantıdır. Bu, bağlantı kuran özelliktir. Bir bağlantı oluşturmak, başka bir dosyayla aynı temel inode'a işaret eden başka bir dosya oluşturmaktır. Birçok durumda, inanılmaz derecede faydalı bir yöntemdir.

Linux'ta nasıl sabit bağlantılar oluşturulacağını kontrol edin.







Linux'ta sabit bağlantılar

Daha derine dalmadan önce, biraz sert ve yumuşak bağlantılar hakkında konuşalım. Aralarında bazı temel farklılıklar vardır. Sabit bağlantı durumunda, yalnızca aynı dosya sisteminde var olabilir, sembolik bağlantı ise çapraz dosya sistemlerinde kalır. Ayrıca, yalnızca normal dosyalarda gerçekleştirilebilir. Ayrıca dizin sabit bağlantıları oluşturamazsınız, bu nedenle bir dizin döngüsü oluşturmaz.



Sabit bağlantının bir dosyası silinirse, bağlantıyı temel inode'dan kaldırır.



ls komutu, bir hedef dosya/dizinin düğümünü yazdırabilir.





$ls -de <file_or_dir>

Sabit bağlantılar oluşturma

Sabit bir bağlantı oluşturmak oldukça basittir. Bağlantı oluşturmak için ln, neredeyse tüm Linux dağıtımlarında bulunan özel araçtır.



Sabit bir bağlantı oluşturmak için aşağıdaki komut yapısını kullanın. Hedefin aynı dosya sistemi içinde olması gerektiğini unutmayın. -v bayrağı ayrıntılı mod içindir.

$içinde -v <kaynak> <bağlantı>


Sonucu doğrulayın.

$ls -de <hedef>


Dizin sabit bağlantısına gelince, buna izin verilmez. Varsayımsal olarak, oluşturmak hala mümkündür, ancak çoğu Linux dağıtımı, eylemi kök ayrıcalığıyla çalıştırsanız bile bu özelliği devre dışı bırakır. Dizin bağlama için yumuşak bağlantılar kullanın.

Yumuşak bağlantılar

Yumuşak bağlantı genellikle sembolik bağlantılar olarak adlandırılır. Yumuşak bağlantı çapraz dosya sistemi olabilir. Tanım olarak, standart bir dosya değil, mevcut bir dosyaya işaret eden bir dosyadır. Burada, soft link dosyası farklı bir inode değerine sahip olacak, ancak orijinal dosyaya işaret ediyor.

Tıpkı sabit bağlantılar oluşturmak gibi, ln aracını kullanacağız. Bir yazılım bağlantısı oluşturmayı bildirmek için -s bayrağını ekleyin.

$içinde -vs <kaynak> <hedef>


Sonucu doğrulayın.

$ls -de <hedef>

Halihazırda bir bağlantı varsa, -f işaretini kullanarak, ln'yi herhangi bir onay olmadan bağlantıyı güncellemeye zorlayan işaretini kullanarak güncelleyebilirsiniz. Alternatif olarak, etkileşimli bağlantı oluşturmak için -i bayrağını kullanabilirsiniz.

$içinde -sf <kaynak> <hedef>


Sonucu doğrulamayı unutmayın.

$ls -de <hedef>

Bağlantıları bulma

Aynı dosyaya birden fazla bağlantı olduğunu varsayarsak, onları takip etmek zor olabilir. Böyle bir durumda, tüm bağlantıları bulmak için bu yöntemi kullanın.

Bunun için orijinal dosyanın inode değerine ihtiyacımız var. İnode numarasını öğrenmek için aşağıdaki komutu kullanın.

$ls -de <Hedef dosya>


Şimdi, o dosyanın tüm bağlantılarını bulmak için inode numarasını kullanın. Burada geçerli aktif dizin, orijinal dosyanın bulunduğu dizin olmalıdır.

$bulmak.-inum <inode_değeri>

Bağlantıları silme

Bir sabit bağlantıyı devre dışı bırakmak istiyorsanız, bunu yapmanın yolu bağlantılı dosyayı silmektir.

$rm <bağlantı>

Son düşünceler

Bağlama, birçok durumda kullanabileceğiniz güçlü bir araçtır. Kendi sınırlamalarıyla birlikte gelse de, birçok senaryoya mükemmel faydalar sağlayabilir.

ln komutu hakkında daha derinlemesine ilgileniyor musunuz? ln komutunun nasıl kullanılacağına bakın.

Mutlu bilgisayar!