Slik rekursivt sletter du en filtype i Linux i en katalog og alle underkataloger

Slett en filtype rekursivt

Sikkert ved en eller annen anledning har du bekreftet at du har en ubrukelig type fil i flere mapper, som tar liten plass, men du vil ganske enkelt ikke ha den på datamaskinen. I macOS opprettes for eksempel noen filer .DS_Store som lagrer informasjon om ikonet til en mappe, dens størrelse og plassering, og i Windows er det desktop.ini som er likeverdige. Hva gjør vi hvis vi har en katalog full av underkataloger og vi vil slette disse eller andre typer filer? Det vi må gjøre er rekursivt slette Hver og en av dem.

Dette er noe vi kan gjøre med alle typer filer. For eksempel, hvis vi har en harddisk full av musikk, har vi en spiller som har lastet ned dekslene, og vi vil ikke ha dem lagret, vi kan bruke den samme kommandoen som vi vil detaljere nedenfor for å slette dem. Å ta i betraktning at vi kommer til å slette katalogfiler og deres underkataloger med terminalen rekursivt, og at disse vil gå tapt for alltid, det gjør ikke vondt å være forsiktig og / eller gjør en test før du sletter alt vi vil slette.

Slett filer av en type rekursivt fra terminalen

Kommandoene for eksemplene macOS .DS_Store-filer vil være som følger:

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

Av de forrige kommandoene vil den første plassere oss i mappen der vi vil starte, det vil si den som inneholder alle .DS_Store-filene vi vil slette. Den andre er den som vil slette alle .DS_Store-filene fra første mappe og undermappene eller kataloger. Hvis det vi ønsker er å slette bildene fra de tidligere nevnte musikkmappene, må vi sette utvidelsestypen mellom anførselstegnene, for eksempel '* .jpg'.

For å være 100% ærlig er dette noe jeg vil gjøre den dagen jeg slutter å bruke Cantata som standard musikkspiller. Cantata oppretter og skjuler informasjonsfiler med samme navn som sangene som har en prikk og en lav bar foran seg (for eksempel ._Song). Når jeg trenger det, vil kommandoen jeg må bruke være finne. -navn '._ *' -type f -slett.

Har denne lille guiden hjulpet deg med å rekursivt slette filer fra terminalen?

Grep-kommando
Relatert artikkel:
Grep-kommando: kraftig verktøy for å finne tekst fra Terminal

En kommentar, legg igjen din

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Sebastian Castro sa

    Takk, men det er en feil i koden din. Du må bruke det vanlige uttrykket '*', det vil si '* .DS_STORE'. Jeg anbefaler at du retter det. Vel, for de som har mindre kunnskap om bash, fungerer ikke koden du ga for dem. Hilsener!