Ne gelmez rm -rfkaldır dosyaları veya dizinleri kullanıldığında mı?
-rVe -fseçenekleri birlikte nasıl çalışır?
Ne gelmez rm -rfkaldır dosyaları veya dizinleri kullanıldığında mı?
-rVe -fseçenekleri birlikte nasıl çalışır?
Yanıtlar:
Komut rm -rfaynıdır rm -r -f.
Gönderen rmbireyin adam sayfası (tip man rmbir terminal olarak görmek için) -ryapar:
remove directories and their contents recursively
Ve -fyapar:
ignore nonexistent files and arguments, never prompt
Yani kombinasyon halinde ikisini de yapıyorlar.
Lütfen bu komutu dikkatli kullanın!
rm -rf /Teorik olarak, bilgisayarınızda yazma izni olan bir dizinde bulunan her dosyayı silecektir. Kökseniz, tüm sistemi yok etmek demektir. (Uygulamada, işe yaramadı çünkü GNU rm, rm -r /siz de söylemediğiniz sürece izin vermeyi reddeden özel bir davaya sahip --no-preserve-root.)
rm -rf /düzgün şekilde yakalanıp yakalanmadığını görmeyi denemeyi önermiyorum .
Önceki doğru cevaba ek olarak, nasıl balık tutulacağını öğretmek isterim:
Bir komutun nasıl çalıştığından, hangi seçeneklerden ve ne yaptığından emin değilseniz, bir terminal açın ve yazın
man <command>
Örneğin:
man rm
İçeri girdikten sonra, seçeneği arayabilirsiniz. Bir man sayfasının okunması çok uzun olabilir, bu yüzden terminal türünde:
/<pattern>
Örneğin, yapıyor:
/-f
Kolayca iniş yapabilirsiniz:
-f, --force
ignore nonexistent files and arguments, never prompt
-R için:
-r, -R, --recursive
remove directories and their contents recursively
n(Sonraki) ve N(önceki) düğmelerini kullanarak arama sonuçları arasında geçiş yapabilirsiniz .
Bir şey yapmanız gerekiyor ancak komut adını bilmiyorsanız, aproposman sayfalarında arama yapmak için kullanın :
apropos <pattern>
Örneğin:
apropos directory listing
rmkaldırmak için kısa. rBayrak kaldırma dizinleri ve bunların içerikleri ardışık ve etmektir faraçlar kuvvet ve herhangi onay istemlerini geçersiz kılar.
r flag is to remove directories doğru değil ... dizinleri içeriğiyle birlikte kaldırır, yinelemeli bir işlemdir ... kelimelerinize göre, sadece dizinleri kaldırır, peki alt dizinler, altındaki dosyalar? dizin girdisi adı-inode eşleştirmesini içerdiğinden sadece bu ancak herhangi bir anlam ifade etmez ..
Daha önce de belirtildiği gibi, rm -rf <ARG>dosyaları tekrarlı bir şekilde zorla kaldırmak <ARG>, bir dizin ise (sadece iyi bir dosya olsa da) anlatılmak içindir.
-r(Özyinelemeli kaldırma) bütün mesele, rmeğer boş değillerse, dizinleri kaldıramazlar, çünkü sadece temel dizini rmkullanan ( unlink ) sistem çağrısı sadece boş dizinlerde çalışır. Böylece, -rbayrak ne yapar, derinlik ilk arama dizin içine inen ve ilk önce dosyaları kaldırma, ancak daha sonra dizin boş olduğunda - onu kaldıracaktır. Bu aynı etkiye bayrakla yapılan findkomutla ulaşılır -delete(filtrelemeyi siz belirlemediğinizde -type, ancak bu başka bir hikaye).
Gelince -f, iki şey yapar - biri dosyayı silmek isteyip istemediğinizi sormaz (örneğin, başka bir kullanıcının sahip olduğu bir dosyayı dizininizden kaldırırken, rm: remove write-protected regular empty file 'f1'?onay istemi göstermez ) ve yok sayar. var olmayan dosyalar. Mesela, var olmayan bir dosya adıyla, rm: cannot remove 'nonexistent': No such file or directoryhata almalısınız .
Ayrıca bakınız: