Linux'ta bir dizinde ve tüm alt dizinlerinde bir dosya türünü yinelemeli olarak silme

Bir dosya türünü yinelemeli olarak silin

Elbette bazı durumlarda, birkaç klasörde çok az yer kaplayan işe yaramaz bir dosya türünüz olduğunu doğrulamışsınızdır, ancak bunu bilgisayarınızda istemezsiniz. Örneğin, macOS'ta bazı dosyalar oluşturulur .DS_Store bir klasörün simgesi, boyutu ve konumu hakkındaki bilgileri kaydeden ve Windows'ta eşdeğer olan desktop.ini var. Alt dizinlerle dolu bir dizine sahipsek ve bunları veya diğer dosya türlerini silmek istiyorsak ne yapmalıyız? Yapmamız gereken şey yinelemeli olarak sil Onların her biri ve hepsi.

Bu, her tür dosyayla yapabileceğimiz bir şeydir. Örneğin, müzik dolu bir sabit diskimiz varsa, kapakları indirmiş bir oynatıcımız var ve bunların kaydedilmesini istemiyorsak, bunları silmek için aşağıda detaylandıracağımız aynı komutu kullanabiliriz. Elbette, terminal ile dizin dosyalarını ve alt dizinlerini yinelemeli olarak sileceğimizi ve bunların sonsuza kadar kaybolacağını dikkate alarak, dikkatli olmaktan zarar gelmez ve / veya silmek istediğimiz her şeyi silmeden önce bir test yapın.

Bir türdeki dosyaları terminalden yinelemeli olarak silin

Örnek macOS .DS_Store dosyalarının komutları aşağıdaki gibi olacaktır:

cd ruta/a/directorio
find . -name '*.DS_Store' -type f -delete

Önceki komutlardan ilki bizi başlatmak istediğimiz klasöre, yani silmek istediğimiz tüm .DS_Store dosyalarını içeren klasöre yerleştirecektir. İkincisi, tüm .DS_Store dosyalarını ilk klasör ve alt klasörleri veya dizinler. Daha önce bahsettiğimiz müzik klasörlerinden fotoğrafları silmek istiyorsak, uzantı türünü tırnak işaretleri arasına '* .jpg' gibi koymamız gerekiyor.

% 100 dürüst olmak gerekirse bu, Cantata'yı varsayılan müzik çalar olarak kullanmayı bıraktığım gün yapacağım bir şey. Cantata, önünde bir nokta ve alçak bir çubuk bulunan şarkılarla aynı ada sahip bilgi dosyaları oluşturur ve gizler (örneğin, ._Song). İhtiyaç duyduğumda, kullanmam gereken komut olacak bul. -name '._ *' -tip f -sil.

Bu küçük kılavuz, dosyaları terminalden yinelemeli olarak silmenize yardımcı oldu mu?

Grep komutu
İlgili makale:
Grep komutu: Terminal'den metin bulmak için güçlü bir araç

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Sebastian Castro dijo

    Teşekkürler, ancak kodunuzda bir hata var. Normal ifade '*', yani '* .DS_STORE' kullanmanız gerekir. Düzeltmenizi tavsiye ederim. Eh, bash hakkında daha az bilgisi olanlar için, verdiğiniz kod onlar için işe yaramayacaktır. Selamlar!