Sådan rekursivt slettes en filtype i Linux i en mappe og alle dens underkataloger

Slet en filtype rekursivt

Sikkert ved en lejlighed har du bekræftet, at du har en ubrugelig type fil i flere mapper, som tager lidt plads, men du vil simpelthen ikke have den på din computer. For eksempel oprettes nogle filer i macOS .DS_Store der gemmer oplysninger om ikonet for en mappe, dens størrelse og placering, og i Windows er der desktop.ini, der er ækvivalente. Hvad gør vi, hvis vi har en mappe fuld af underkataloger, og vi vil slette disse eller andre typer filer? Hvad vi skal gøre er slet rekursivt Hver eneste af dem.

Dette er noget, vi kan gøre med alle typer filer. For eksempel, hvis vi har en harddisk fuld af musik, har vi en afspiller, der har downloadet covers, og vi vil ikke have dem gemt, vi kan bruge den samme kommando, som vi detaljerer nedenfor for at slette dem. Under hensyntagen til, at vi naturligvis vil rekursivt slette biblioteksfiler og deres underkataloger med terminalen, og at disse vil gå tabt for evigt, det gør ikke ondt at være forsigtig og / eller lav en test, inden du sletter alt, hvad vi vil slette.

Slet filer af en type rekursivt fra terminalen

Kommandoerne til eksemplet macOS .DS_Store-filer vil være som følger:

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

Af de tidligere kommandoer placerer den første os i den mappe, hvor vi vil starte, det vil sige den, der indeholder alle .DS_Store-filer, som vi vil slette. Den anden er den, der sletter alle .DS_Store-filer fra første mappe og dens undermapper eller telefonbøger. Hvis det, vi ønsker, er at slette fotos fra de tidligere nævnte musikmapper, er vi nødt til at sætte udvidelsestypen mellem citaterne, såsom '* .jpg'.

For at være 100% ærlig er det noget, jeg vil gøre den dag, jeg holder op med at bruge Cantata som standard musikafspiller. Cantata opretter og skjuler informationsfiler med samme navn som de sange, der har en prik og en lav bjælke foran dem (for eksempel ._Song). Når jeg har brug for det, er kommandoen, jeg skal bruge finde. -navn '._ *' -type f -delete.

Har denne lille guide hjulpet dig med rekursivt at slette filer fra terminalen?

Grep-kommando
relateret artikel:
Grep-kommando: kraftfuldt værktøj til at finde tekst fra Terminal

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Sebastian Castro sagde han

    Tak, men der er en fejl i din kode. Du skal bruge det regulære udtryk '*', det vil sige '* .DS_STORE'. Jeg anbefaler, at du retter det. Nå, for dem der har mindre kendskab til bash, fungerer den kode, du gav, ikke. Vær hilset!