Ödeme Yöntemleri Abuse

Linux'ta bağlantıları kaldırma

10.04.2022, 01:05

Linux'ta bir bağlantı, başka bir dosya veya dizine atıfta bulunan özel bir dosyadır. Bu şekilde, bir dosya aynı anda birkaç yere yerleştirilebilir. Orijinal dosya silindiğinde, ona olan bağlantı korunur. Bu, çökmelere neden olabilir ve genellikle sistemi tıkar.

Bir bağlantı nasıl silinir

Başlangıç olarak, dosyanın gerçekten bir bağlantı olup olmadığını kontrol etme yöntemini açıklayalım. Bu, ls yardımcı programı kullanılarak rahatlıkla yapılır. Bundan sonra, her biri kendine özgü özelliklere sahip üç kaldırma yöntemine bakalım.

Bağlantı olduğunu doğrulama

ls yardımıyla dosya hakkındaki bilgileri görmek uygundur. Yardımcı programı kullanmak için -l seçeneğini verin ve yolu belirtin. Örnek olarak ~/symlinks/link_1 dosyasını ele alalım:

$ ls -l ~/symlinks/link_1

Linux'ta bağlantıları kaldırma

Bağlantılar için tüm bir kataloğu kontrol edebilirsiniz:

$ ls -l ~/symlin

Linux'ta bağlantıları kaldırma

Gerekli olmayan bir dosya, adından sonra karakteristik bir ok ile işaretlenir.

Rm Kullanımı

rm komutu, bağlantılar da dahil olmak üzere Linux dosya sistemindeki herhangi bir dosyayı silmek için kullanılabilir. Yani bizim görevimiz için uygundur. Burada, bağlantının silinmesi sonucunda orijinal dosya veya dizinin etkilenmeyeceğini belirtmek önemlidir.

Terminalde komutu çalıştırın:

$ rm ~/symlinks/link_1

Linux'ta bağlantıları kaldırma

Ayrıca, prosedür hakkında ayrıntılı bilgi almak için komuta -v seçeneğini ekleyin:

$ rm -v ~/symlinks/link_1

Linux'ta bağlantıları kaldırma

Ek olarak, bağlantının dizinden kaybolup kaybolmadığını kontrol edebilirsiniz. Bunu yapmak için, daha önce açıklanan ls komutunu kullanın.

Linux'ta bağlantıları kaldırma

Artık bir Linux sembolik bağlantısını nasıl kaldıracağınızı biliyorsunuz.

UNLINK Kullanımı

Unlink yardımcı programı Linux dosya sisteminden dosyaları kaldırmak için tasarlanmıştır. Yalnızca bağlantının yolunu belirtmesi gerekir:

$ unlink ~/symlinks/link_1

Linux'ta bağlantıları kaldırma

Elinizdeki görev kapsamında, rm ve unlink neredeyse aynı şekilde çalışır. Şimdi son yönteme geçelim.

Bul'u Kullanmak

find komutu yardımıyla belirli bir dizindeki bağlantıları arayabilir ve silebilirsiniz. Bu, ayrıca ls kullanmanıza gerek olmadığı anlamına gelir.

Linux'ta bağlantıları kaldırma

Önceki iki seçenekten farklı olarak, arama kriterlerini ayarlamak gibi oldukça gelişmiş özelliklere sahiptir. Ancak sözdizimi de bu nedenle o kadar basit değildir.

Arama yapmak için bir dizin ve birkaç parametre belirtmeniz gerekir:

$ find ~/symlinks/ -type l -print

Linux'ta bağlantıları kaldırma

Yalnızca sembolik bağlantıları seçmek için -type l parametresi, tam adın çıktısını almak için -print gereklidir. Ve -maxdepth yardımıyla iç içe dizinlere göre arama derinliğini belirleyebilirsiniz. Eğer 1 olarak belirtirseniz, arama ekler olmadan sadece dizinin kendisi üzerinde gerçekleştirilecektir:

$ find ~/symlinks/ -maxdepth 1 -type l -print

Linux'ta bağlantıları kaldırma

Dizinde çok sayıda bağlantı olduğunda, find komutu için bir arama kalıbı belirleyebilirsiniz. Örnek olarak, yalnızca son değiştirilme tarihi en fazla 30 gün önce olan gizli bağlantıları bulmak istediğimiz bir durumu ele alalım:

$ find ~/data/ -type l -name ".*" -mtime -30 -print

Linux'ta bağlantıları kaldırma

İki kriter eklenmiştir:

  • -name - isme göre arama.
  • -mtime - değişiklik zamanına göre.

Bulunan tüm bağlantılar belirtilen kalıba göre silinebilir. Bu amaçla -print yerine -delete kullanılır:

$ find ~/data/ -type l -name ".*" -mtime -30 -delete

Linux'ta bağlantıları kaldırma

Talimatın sonunda, örneğin orijinal dosya veya dizin silindikten sonra hiçbir yere gitmeyen kırık bağlantıları arama ve silme ile ilgilenelim. xtype l parametresi bu amaç için uygundur. -print çıktı için gerekli değildir:

$ find ~/broken_links/ -xtype l

Linux'ta bağlantıları kaldırma

Sonuç olarak, tüm kırık bağlantılar terminalde görüntülenecektir. Bunları kaldırmak için komutun sonuna -delete ekleyin:

$ find ~/broken_links/ -xtype l -delete

Linux'ta bağlantıları kaldırma

Bu, Linux'ta bir bağlantıyı silme talimatlarını tamamlar.