Android

Linux'ta sembolik bağlantılar nasıl kaldırılır (silinir)

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

İçindekiler:

Anonim

Simge bağlantısı olarak da bilinen sembolik bir bağlantı, başka bir dosya veya dizine işaret eden özel bir dosya türüdür. Windows'ta bir kısayol gibi bir şey. Bir sembolik bağlantı, aynı veya farklı bir dosya sistemi veya bölümdeki bir dosyayı veya dizini işaret edebilir.

Bu kılavuzda, rm , unlink ve find komutlarını kullanarak Linux / UNIX sistemlerindeki sembolik bağlantıların nasıl kaldırılacağını (silineceğini) göstereceğiz.

Sen başlamadan önce

Bir symlink'i kaldırmak için, symlink'i içeren dizinde yazma izninizin olması gerekir. Aksi takdirde, "İşleme izin verilmiyor" hatası alırsınız.

Bir sembolik bağlantısı kaldırdığınızda, işaret ettiği dosya etkilenmez.

Belirli bir dosyanın sembolik bağlantı olup olmadığını kontrol etmek ve sembolik bağlantının işaret ettiği dosya veya dizini bulmak için ls -l komutunu kullanın.

ls -l /usr/bin/python

lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7

İlk karakter “l”, dosyanın bir sembolik bağlantı olduğunu gösterir. “->” sembolü, sembolik bağın işaret ettiği dosyayı gösterir.

rm ile Sembolik Bağlantıları Kaldır

rm komutu verilen dosyaları ve dizinleri kaldırır.

Bir sembolik bağlantısı silmek için, rm komutunu ve ardından sembolik bağlantı adını bağımsız değişken olarak çağırın:

rm symlink_name

Başarılı olduğunda, komut sıfır ile çıkar ve çıktı göstermez.

rm ile aynı anda birden fazla sembolik bağı silebilirsiniz. Bunu yapmak için simgelerin adlarını boşlukla ayrılmış argümanlar olarak iletin:

rm symlink1 symlink2

Symlink'i kaldırmadan önce istenmesi için -i seçeneğini kullanın:

rm -i symlink_name

Onaylamak için y ve Enter tuşuna basın.

rm: remove symbolic link 'symlink_name'?

Sembolik bağlantı bir dizini gösteriyorsa, sonuna / sondaki eğik çizgiyi eklemeyin. Aksi takdirde bir hata alırsınız:

rm symlink_to_dir/

rm: cannot remove 'symlink_to_dir/': Is a directory

Bağımsız değişkenin adı / ile bitiyorsa, rm komutu dosyanın bir dizin olduğunu varsayar. Hata, -d veya -r seçeneği olmadan kullanıldığında, rm dizinleri silemediği için oluşur.

Güvenli tarafta olmak için, rm ile sembolik bağlantıları -r asla -r seçeneği kullanmayın. Örneğin, şunu yazarsanız:

rm -f symlink_to_dir/

Hedef dizinin içeriği silinecektir.

Unlink ile Sembolik Bağlantıları Kaldır

unlink komutu verilen bir dosyayı siler. Rm'den farklı olarak, unlink yalnızca tek bir argümanı kabul eder.

Sembolik bir bağlantıyı silmek için argüman olarak unlink komutunu ve ardından sembolik bağ adını çalıştırın:

unlink symlink_name

Komut başarıyla yürütülürse, çıktı gösterilmez.

Bağlantıyı kaldırma dizinleri kaldıramayacağından, sembolik bağlantının adının sonuna / sonuna eğik çizgi eklemeyin.

Bozuk Sembolik Bağlantıları Bulma ve Silme

Belirli bir dizinin altındaki tüm bozuk sembolik bağlantıları bulmak için aşağıdaki komutu çalıştırın:

find /path/to/directory -xtype l

/path/to/directory/symlink1 /path/to/directory/subdir/symlink2

Komut, dizin ve alt dizinleri altındaki tüm bozuk bağlantıları listeler.

find /path/to/directory -maxdepth 1 -xtype l

/path/to/directory/symlink1

Bozuk simgeleri bulduktan sonra, bunları rm ile manuel olarak kaldırabilir veya unlink veya find komutunun -delete seçeneğini kullanabilirsiniz:

find /path/to/directory -xtype l -delete

Sonuç

Sembolik bir bağlantıyı kaldırmak için, rm veya unlink komutunu ve ardından sembolik bağlantının adını bağımsız değişken olarak kullanın. Bir dizine işaret eden sembolik bir bağlantı kaldırılırken, sembolik bağlantının sonuna eğik çizgi eklemeyin.

rm bağlantıyı bul terminali