Hvordan søke og fjerne kataloger rekursivt på Linux


I en av våre tidligere artikler forklarte vi hvordan du finner ut toppkataloger og filer som bruker mest diskplass på filsystemet i Linux. Hvis du legger merke til at slike kataloger ikke lenger inneholder viktige filer og underkataloger (som gamle sikkerhetskopier, nedlastinger osv.), kan du slette dem for å frigjøre plass på disken.

Les også: 10 nyttige du (diskbruk)-kommandoer for å finne diskbruk av filer og kataloger

Denne korte opplæringen beskriver hvordan du finner og sletter kataloger rekursivt i Linux-filsystemet.

For å oppnå formålet ovenfor, kan du bruke find-kommandoen sammen med rm-kommandoen ved å bruke syntaksen nedenfor. Her gjør + tegnet på slutten det mulig å lese flere kataloger samtidig.

find /start/search/from/this/dir -name "dirname-to-delete" -type d -exec /bin/rm -rf {} + 

Obs: Du må bruke rm-kommando forsiktig fordi det er en av de farligste kommandoene å bruke i Linux: du kan ved et uhell slette kritisk system kataloger, noe som resulterer i systemfeil.

I eksemplet nedenfor vil vi søke etter en katalog kalt filer_2008 og slette den rekursivt:

$find ~/Downloads/software -name "files_2008" -type d -exec /bin/rm -rf {} + 

Du kan også bruke finn og xargs; i følgende syntaks, aktiverer handlingen -print0 utskrift av hele katalogbanen på standardutgangen, etterfulgt av et nulltegn:

find /start/search/from/this/dir -name "dirname-to-delete" -type d -print0 | xargs -0 /bin/rm -rf "{}"

Ved å bruke samme eksempel ovenfor har vi:

find ~/Downloads/software -name "files_2008" -type d -print0 | xargs -0 /bin/rm -rf "{}"

Sist men ikke minst, hvis du er bekymret for sikkerheten til dataene dine, kan det være lurt å lære 3 måter å permanent og sikkert slette ‘Filer og kataloger’ i Linux.

Ikke glem å lese flere nyttige artikler om fil- og katalogadministrasjon i Linux:

  1. fdupes – Et kommandolinjeverktøy for å finne og slette dupliserte filer i Linux
  2. Hvordan finne og fjerne dupliserte/uønskede filer i Linux ved å bruke 'FSlint'-verktøyet
  3. 3 måter å slette alle filer i en katalog unntatt én eller få filer med utvidelser

I denne artikkelen viste vi deg hvordan du finner og fjerner kataloger rekursivt på Linux. Hvis du har spørsmål eller ekstra ideer du vil legge til dette emnet, bruk kommentarfeltet nedenfor.