Hangi dosyaların silineceğini görmek için kuru bir rm akışını nasıl çalıştırırsınız?


87

rmLinux'ta gerçekleştirirken hangi dosyaların silineceğini görmek istiyorum . Çoğu komutun sadece bu bilgiyi göstermek için kuru çalıştırma seçeneği olduğu görülüyor, ancak böyle bir seçenek bulamıyorum rm. Bu mümkün mü?


Ayrıca hangi dosyaların izinlerin yetersizliğinden hatalar üreteceğini de görmek istiyorum.
Simon Woodside

Yanıtlar:


121

Koşmak istediğini söyle:

rm *.txt

Sadece koşabilirsiniz:

echo rm *.txt

hatta sadece:

echo *.txt

Hangi dosyaların rmsilineceğini görmek için , çünkü kabuk genişleten kabuk *.txtdeğil rm.

Bunun sana yardım etmeyeceği tek zaman bunun için rm -r.

Özyinelemeli dosya ve dizinleri kaldırmak istiyorsanız, o zaman kullanabilirsiniz findyerine rm -r, örneğin

find . -name "*.txt" -print

senin ne istediğini yapar, sonra eğer değiştirmek -printiçin -delete:

find . -name "*.txt" -delete

IMO bulmak iyi bir seçimdir. Ve eğer bir grafiksel sunum kullanmak istiyorsanız tree.
noisebleed

2
Neredeyse mükemmel. find . -name "*.txt" -deletetho özyinelemeli görünmüyor. Tüm dosyalar kaldırıldı, ancak listelenen dizinleri kaldırmadı-print
Oscar Godson

1
@OscarGodson Dizinlerin dosyaları çıkardıktan sonra boş kaldığını varsayarsak, bunları da kaldırabilirsinizfind . -type d -empty -delete
datguy

1
@OscarGodson - findHala dosyaları (eşdeğer ihtiva dizinleri silmez rm dir/olmadan -r). İlk önce dizini boşaltmanız veya bunu yapmak için uygun seçeneklerle kullanmanız findgerekir -exec rm. egfind . -depth -name "*.txt" -exec rm -r {} +
shalomb 19

echo rm *.txtYöntemi kullanmak bir dezavantaj gibi görünüyor. Dikey bir listenin yerine sonuçları bir birleştirilmiş listede (öncekinden sonra bir dosyaya sahip uzun bir dize) sunar. Çıktının dikey bir listede gösterilmesini sağlamanın bir yolu var mı (her satırda bir dosya)? (GÜNCELLEME: findYöntemin istediğim şeyi yaptığını görüyorum. Bu yüzden onunla çalışacağım.)
inspirednz

16

Söyleyebilirsin:

rm -i

Etkileşimli modda çalıştırmak için, rmher bir dosyanın silinip silinmeyeceğini onaylamanızı ister. Hangisinin etkileneceğini görmek için her bir dosyaya hayır cevabını verebilirsiniz.


8
Çok sayıda dosya için bu oldukça zordur.
Cory Klein

9
evet n | rm -i # minimum yorum uzunluğunu yerine getirme sözü
Joshua

4

lsKaldırılacak tüm dosyaları listelemek için kullanabilirsiniz rm:

ls ../path/*.txt

Özyinelemeyle silinecek dosyaları görüntülemek için listeye ihtiyacınız varsa rm, -Rbayrakla birlikte şunu kullanın ls:

ls -R ../path/*.txt

İyi bir nokta. Yuvalama seviyesini biliyorsanız, o zaman bunu başarabilirsinizls */*/*.txt
Veneet Reddy

1
Haklısın. İle -Rseçeneği.
Veneet Reddy
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.