Hoe recursief een bestandstype in Linux in een map en al zijn submappen te verwijderen

Verwijder een bestandstype recursief

Je hebt vast wel eens gecontroleerd dat je een nutteloos bestandstype in verschillende mappen hebt, dat weinig ruimte in beslag neemt, maar je wilt het gewoon niet op je computer. In macOS worden bijvoorbeeld enkele bestanden gemaakt .DS_Store die informatie opslaan over het pictogram van een map, de grootte en positie, en in Windows zijn er desktop.ini die gelijkwaardig zijn. Wat doen we als we een map vol submappen hebben en we deze of andere soorten bestanden willen verwijderen? Wat we moeten doen is recursief wissen Stuk voor stuk.

Dit is iets dat we kunnen doen met alle soorten bestanden. Als we bijvoorbeeld een harde schijf vol muziek hebben, we hebben een speler die de hoesjes heeft gedownload en we willen ze niet bewaren, we kunnen dezelfde opdracht gebruiken die we hieronder zullen beschrijven om ze te verwijderen. Natuurlijk, rekening houdend met het feit dat we mapbestanden en hun submappen recursief gaan verwijderen met de terminal en dat deze voor altijd verloren zullen gaan, het kan geen kwaad om voorzichtig te zijn en / of doe een test voordat u alles verwijdert wat we willen verwijderen.

Verwijder bestanden van een bepaald type recursief uit de terminal

De opdrachten voor de voorbeeldbestanden van macOS .DS_Store zijn als volgt:

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

Van de vorige opdrachten plaatst de eerste ons in de map waar we willen beginnen, dat wil zeggen degene die alle .DS_Store-bestanden bevat die we willen verwijderen. De tweede is degene die alle .DS_Store-bestanden van het eerste map en zijn submappen of mappen. Als we de foto's uit de eerder genoemde muziekmappen willen verwijderen, moeten we het extensietype tussen de aanhalingstekens plaatsen, zoals '* .jpg'.

Om 100% eerlijk te zijn, dit is iets dat ik zal doen op de dag dat ik Cantata niet meer als de standaardmuziekspeler gebruik. Cantata maakt en verbergt informatiebestanden met dezelfde naam als de nummers met een punt en een lage balk ervoor (bijvoorbeeld ._Song). Als ik het nodig heb, zal het commando dat ik moet gebruiken zijn vind. -naam '._ *' -type f -delete.

Heeft deze kleine handleiding u geholpen om recursief bestanden van de terminal te verwijderen?

Grep-opdracht
Gerelateerd artikel:
Grep-opdracht: krachtig hulpmiddel om tekst uit Terminal te vinden

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Sebastian Castro zei

    Bedankt, maar er zit een fout in uw code. U moet de reguliere expressie '*' gebruiken, dat wil zeggen '* .DS_STORE'. Ik raad u aan dit te corrigeren. Welnu, voor degenen die minder kennis hebben van bash, zal de code die je hebt gegeven niet voor hen werken. Groeten!