Android

Linux dizini nasıl kaldırılır (silinir)

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

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

İçindekiler:

Anonim

Linux sistemlerindeki dizinleri kaldırmanın birkaç farklı yolu vardır. Gnome's Files veya KDE's Dolphin gibi bir Masaüstü dosya yöneticisi kullanıyorsanız, yöneticinin grafik kullanıcı arayüzünü kullanarak dosyaları ve dizinleri silebilirsiniz. Ancak, başsız bir sunucu üzerinde çalışıyorsanız veya aynı anda birden çok dizini kaldırmak istiyorsanız, en iyi seçenek dizinleri (klasörleri) komut satırından silmektir.

, rmdir , rm ve find komutlarını kullanarak Linux dizinlerinin nasıl silineceğini açıklayacağız.

Sen başlamadan önce

Masaüstü dosya yöneticinizi kullanarak bir dizini kaldırdığınızda, dizin aslında Çöp Kutusuna taşınır ve kolayca kurtarılabilir.

Komut satırından dosyaları veya dizinleri kaldırırken çok dikkatli olun, çünkü dizin açıklanan komutlar kullanılarak silindikten sonra tam olarak kurtarılamaz.

Çoğu Linux dosya sisteminde, bir dizini silmek dizinde ve içeriğinde yazma izni gerektirir. Aksi takdirde “İşleme izin verilmiyor” hatası alırsınız.

İçinde boşluk bulunan dizin adları ters eğik çizgi ( / ) ile birlikte kullanılmalıdır.

rmdir ile Dizinleri Kaldırma

rmdir , boş dizinleri silmek için kullanılan bir komut satırı yardımcı programıdır. Bir dizini yalnızca boşsa, dizinin boş olup olmadığını kontrol etmeye gerek kalmadan silmek istediğinizde kullanışlıdır.

rmdir ile bir dizini silmek için, komutu ve ardından kaldırmak istediğiniz dizinin adını yazın. Örneğin, dir1 adlı bir dizini silmek için şunu dir1 :

rmdir dir1

Dizin boş değilse aşağıdaki hatayı alırsınız:

rmdir: failed to remove 'dir1': No such file or directory

Bu durumda, silmeden önce rm komutunu kullanmanız veya dizin içeriğini el ile kaldırmanız gerekir.

rm ile Dizinleri Kaldırma

rm , dosya ve dizinleri silmek için kullanılan bir komut satırı yardımcı programıdır. rmdir aksine rm komutu boş ve boş olmayan dizinleri silebilir.

Varsayılan olarak, herhangi bir seçenek olmadan kullanıldığında rm dizinleri kaldırmaz. Boş bir dizini silmek için -d ( --dir ) seçeneğini, boş olmayan bir dizini ve tüm içeriğini silmek için -r ( --recursive veya -R ) seçeneğini kullanın.

Örneğin, dir1 tüm içeriğiyle birlikte dir1 adlı bir dizini silmek için:

rm -r dir1

Bir dizin veya dizin içindeki bir dosya yazmaya karşı korumalıysa, silme işlemini onaylamanız istenir. Bir dizini sorulmadan kaldırmak için -f seçeneğini kullanın:

rm -rf dir1

Aynı anda birden çok dizini kaldırmak için, boşlukla ayrılmış dizin adlarının ardından rm komutunu kullanın. Aşağıdaki komut, listelenen her dizini ve içeriğini kaldıracaktır:

rm -r dir1 dir2 dir3

-i seçeneği, rm her bir alt dizinin ve dosyanın silinmesini onaylamanızı istemesini söyler. Dizin çok fazla dosya içeriyorsa, bu biraz sinir bozucu olabilir, bu nedenle silme işlemine devam etmeden önce yalnızca bir kez istenecek -I seçeneğini kullanabilirsiniz.

rm -rI dir1

Dizini kaldırmak için y ve Enter .

rm: remove 1 argument recursively? y

Birden çok dizini eşleştirmek ve silmek için düzenli genişletmeler de kullanabilirsiniz. Örneğin, geçerli dizindeki _bak ile _bak tüm birinci düzey dizinleri kaldırmak için aşağıdaki komutu kullanırsınız:

rm -r *_bak

Dizinleri kaldırırken düzenli genişletmeler kullanmak riskli olabilir. rm komutunu çalıştırmadan önce hangi dizinlerin silineceğini görebilmeniz için önce dizinleri ls komutuyla listelemeniz önerilir.

Find ile Dizinleri Kaldırma

find , belirli bir ifadeye dayalı olarak dosyaları ve dizinleri aramanızı ve eşleşen her dosya veya dizin üzerinde bir eylem gerçekleştirmenizi sağlayan bir komut satırı yardımcı programıdır.

En yaygın senaryo, desene dayalı dizinleri silmek için find komutunu kullanmaktır. Örneğin, geçerli çalışma dizininde _cache ile _cache tüm dizinleri silmek için:

find. -type d -name '*_cache' -exec rm -r {} +

Yukarıdaki komutu analiz edelim:

  • /dir - geçerli çalışma dizininde ( . ) özyinelemeli olarak arama yapar. -type d - aramayı dizinlerle sınırlar. -name '*_cache' - yalnızca _cache ile _cache dizinleri ara - isteğe bağlı bağımsız değişkenlerle harici bir komut yürütür, bu durumda rm -r . {} + - bulunan dosyaları rm komutunun sonuna ekler.

Tüm boş dizinleri kaldırma

Bir dizin ağacındaki tüm boş dizinleri kaldırmak için şunu kullanabilirsiniz:

find /dir -type d -empty -delete

Kullanılan seçenekler için bir açıklama:

  • /dir - /dir dizininde özyinelemeli olarak arama yapar. -type d - aramayı dizinlerle sınırlar. -empty - aramayı yalnızca boş dizinlerle sınırlar. -delete - alt ağaçtaki tüm boş dizinleri siler. -delete yalnızca boş dizinleri silebilir.

-delete seçeneğini son derece dikkatli kullanın. -delete komut satırı bir ifade olarak değerlendirilir ve önce -delete seçeneğini eklerseniz, komut belirttiğiniz başlangıç ​​noktalarının altındaki her şeyi siler. Her zaman son seçenek olarak -delete kullanın ve silmeden önce önce -delete seçeneği olmadan komutu test edin.

/ bin / rm: Bağımsız değişken listesi çok uzun

Bu hata iletisi, çok sayıda dosya içeren bir dizini kaldırmak için rm komutunu kullandığınızda görüntülenir. Bunun nedeni, dosya sayısının komut satırı bağımsız değişkeninin boyutundaki sistem sınırından büyük olmasıdır.

Bu sorunun birkaç farklı çözümü vardır. Örneğin, dizine cd ile ve el ile ya da alt dizinleri tek tek kaldırmak için bir döngü kullanarak.

En kolay çözüm, önce find komutuyla dizindeki tüm dosyaları ve ardından dizini silmektir:

find /dir -type f -delete && rm -r /dir

Sonuç

rm and find ile farklı kriterlere göre dizinleri hızlı ve verimli bir şekilde silebilirsiniz.

Dizinleri silmek basit ve kolay bir işlemdir, ancak önemli verileri silmemek için dikkatli olmalısınız.

rm rmdir terminali bul