Rmdir ve rm -r arasındaki fark


9

Genellikle rm kullanarak dizinleri silerim :

rm -r myDir

Ancak başka bir komutun farkındayım, rmdir iş yapmak gibi görünüyor , :

rmdir myDir

Bu iki komut arasındaki fark nedir ve her biri ne zaman kullanılmalıdır?


2
Alt dizinde dosyalar varsa rmdir'iniz çalışıyor mu?
Jeff Schaller

1
Ayrıca rmdir(2)yalnızca boş dizinleri kaldırabilecek adsız sistem çağrısına bakın .
David Foerster

4
Bu arada, kullanmak için "doğru" bir prosedür vardır rm -r: (1) Komutu yazın, ama girmeyin (2) Ellerinizi klavyeden uzaklaştırın (3) Beş (4) Hit ENTER tuşuna basın. Tüm tehlikeli komutlarla böyle bir şey yapmaya başladım, yaptığım şeye bakmak için bir şans verdim, işleri doğru yazdığımdan emin olun, beklenmedik sonuçların olup olmadığını düşünün, vb. Örneğin, komutumu silmek ve önce bazı ek denetimler yapmak için.
ajb

3
@ajb rm -rf ~ /*- giriş dizinimi temizle. Veya bekleyin, belki sistemi temizleyin. Çift kontrol etmek her zaman iyidir;).
Tom Carpenter

1
@ajb Bildirimi olduğunu rmdirve rm -riki dizeleri aynı uzunlukta :-)
Kusalananda

Yanıtlar:


14

rm -rbir dizini ve tüm içeriğini kaldırır; rmdirbir dizin yalnızca dizin boşsa kaldırılır. Bir dizini ve tüm içeriğini kaldırmak için aşağıdakileri kullanmayı seviyorum:

rm -rf <directory_to_be_removed>

17
-fİhtiyacınız yoksa genellikle kullanmamanız gerektiğini unutmayın . -rfHer seferinde kullanımı kullanışlı , ancak tüm güvenlik kontrollerini (neredeyse) devre dışı bırakır.
allo

5
-1 -f, öngörülemeyen ve kurtarılamayan sonuçlar doğurabilecek rm bayrağının gereksiz tavsiyesi için
cat

Yani rmdirsadece olduğunu rm -d?
Stan Strum

@StanStrum -diçin standart bir seçenek değildir rm.
Kusalananda

@cat rmKomutun genel olarak bu sonuçları olabilir. -fAltında çalışırken bayrak yararlıdır set -eSenaryoya. Düşünmeden kullanmanın gereksiz olduğuna katılıyorum .
Kusalananda

1

Kullanmalısın rm -r yinelemeli bir dizin ve onun tüm içeriğini, veya hedef bir dizin veya dosya olabilir kaldırmak isteyen ne zaman ve ne olursa olsun onun ne ait silmek istiyor.

Kullanmalısın rmdirBoş bir dizini kaldırmak istediğinizde .

rmdirO Boş olmayan dizinleri ve dosyaları kaldırmak etmeyi reddettiği komut yararlıdır. Bu, sildiğiniz şeyin bir dizin olduğundan ve dizini silmeden (örneğin bir komut dosyasında) boş olduğundan ve hata durumu olarak değerlendirmek istediğinizden kesinlikle emin olmak isteyebileceğiniz durumlarda bir güvenlik yakalama işlevi görür. aksi takdirde.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.