MAC OS Terminalinde gizli olanlar da dahil olmak üzere tüm dosyaları ve klasörleri özyinelemeli olarak kaldırma komutu?


11

rm -rf * tüm dosya ve klasörleri kaldırır ancak gizli olanları kaldırmaz.

rm -rf .* tüm gizli dosya ve klasörleri kaldıracak, ancak gizli olmayan dosyaları kaldıracak değil mi?

Gizli olanlar da dahil olmak üzere tüm dosya ve klasörleri silmek için hangi komut yazılmalıdır? (. ve .. hariç); ?

Yanıtlar:


13
rm -rf * .*

hile yapacak.


1
HAYIR! .*Tüm görünmez geçerli dizinde girişlere genişleyecektir dahil .. kullanarak bu aracı - .*argüman olarak rm -rfçalışacaktır o anda bulunduğunuz biri yukarıda dizini silmek ve tüm içeriğini . rm bunu yapmayı reddedecek, ama bu kasaya güvenmeyi düşünmüyorum ...
Gordon Davisson

@Gordon Davisson: Bir dizin oluşturdum. Gizli dosyalar da dahil olmak üzere dosya ekledim. O komutu ben yaptım. Bu dizinin içindeki tüm içeriği yinelemeli olarak sildi ve dizinin üstündeki hiçbir içeriği silmedi. Yorumunuzu açıklığa kavuşturabilir misiniz?
MEM

Yukarıdaki yorumunuzla ilgili açıklama için teşekkürler. Şimdi anlıyorum. Alternatif bir öneriniz var mı?
MEM

bayrak findile kullanmaya ne dersiniz -delete...
user1055604

1
@GordonDavisson bu durumda rmbir rm: "." and ".." may not be removedileti yazdırmalıdır - ana dizini otomatik olarak kaldırmaz.
slhck

1

Bunu dene:

find . -mindepth 1 -delete

Bunun -mindepthtüm uygulamaları tarafından desteklendiğinden emin değilim find; sizinkine sahip değilse, -pathsilmeye çalışmasını önlemek için başka bir yol vermelidir .:

find . -path "*/*" -delete

BSD'nin findde bu seçeneği var, evet.
slhck

1

Dosyaları / dizinleri belirli kriterlere göre temizlemek için bu komutu kullanın:

# tmpwatch -fauv 0 .

0

shopt -s dotglobayrıca *nokta ile başlayan dosyaları içerir.

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.