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:
- fdupes – Et kommandolinjeverktøy for å finne og slette dupliserte filer i Linux
- Hvordan finne og fjerne dupliserte/uønskede filer i Linux ved å bruke 'FSlint'-verktøyet
- 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.