Kuinka etsiä ja poistaa hakemistoja rekursiivisesti Linuxissa


Yhdessä aiemmista artikkeleistamme selitimme, kuinka voit selvittää Linuxin tiedostojärjestelmän eniten levytilaa vievät hakemistot ja tiedostot. Jos huomaat, että tällaiset hakemistot eivät enää sisällä tärkeitä tiedostoja ja alihakemistoja (kuten vanhoja varmuuskopioita, latauksia jne.), voit vapauttaa levytilaa poistamalla ne.

Lue myös: 10 hyödyllistä du (Disk Usage) -komentoa tiedostojen ja hakemistojen levykäytön etsimiseen

Tämä lyhyt opetusohjelma kuvaa hakemistojen etsimistä ja poistamista rekursiivisesti Linux-tiedostojärjestelmästä.

Yllä olevan tarkoituksen saavuttamiseksi voit käyttää find-komentoa yhdessä rm-komennon kanssa käyttämällä alla olevaa syntaksia. Tässä lopussa oleva +-merkki mahdollistaa useiden hakemistojen lukemisen samanaikaisesti.

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

Huomio: Sinun on käytettävä rm-komentoa huolellisesti, koska se on yksi vaarallisimmista Linuxissa käytettävistä komennoista: saatat vahingossa poistaa tärkeän järjestelmän hakemistoja, mikä johtaa järjestelmävirheeseen.

Alla olevassa esimerkissä etsimme hakemistoa nimeltä files_2008 ja poistamme sen rekursiivisesti:

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

Voit myös käyttää find ja xargs; seuraavassa syntaksissa toiminto -print0 mahdollistaa koko hakemistopolun tulostamisen vakiotulosteeseen, jota seuraa tyhjä merkki:

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

Käyttämällä samaa yllä olevaa esimerkkiä meillä on:

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

Viimeisenä mutta ei vähäisimpänä, jos olet huolissasi tietojesi turvallisuudesta, saatat haluta oppia 3 tapaa poistaa "tiedostot ja hakemistot" pysyvästi ja turvallisesti Linuxissa.

Älä unohda lukea lisää hyödyllisiä artikkeleita tiedostojen ja hakemistojen hallinnasta Linuxissa:

  1. fdupes – komentorivityökalu, jolla voit etsiä ja poistaa päällekkäisiä tiedostoja Linuxissa
  2. Kuinka löytää ja poistaa päällekkäisiä/ei-toivottuja tiedostoja Linuxissa käyttämällä FSlint-työkalua
  3. 3 tapaa poistaa kaikki tiedostot hakemistosta, paitsi yksi tai muutama tiedosto laajennuksilla

Tässä artikkelissa näytimme sinulle, kuinka voit etsiä ja poistaa hakemistoja rekursiivisesti Linuxissa. Jos sinulla on kysyttävää tai lisäideoita, jotka haluat lisätä tähän aiheeseen, käytä alla olevaa kommenttiosaa.