Hakemistojen haku ja poisto rekursiivisesti Linuxissa


Yhdessä edellisistä artikkeleistamme selitimme, kuinka löytää tärkeimmät hakemistot ja tiedostot, jotka vievät eniten levytilaa tiedostojärjestelmässä Linuxissa. Jos huomaat, että tällaiset hakemistot eivät enää sisällä tärkeitä tiedostoja ja alihakemistoja (kuten vanhoja varmuuskopioita, latauksia jne.), Voit poistaa ne vapauttamalla tilaa levylläsi.

Tässä lyhyessä opetusohjelmassa kuvataan hakemistojen löytäminen ja poistaminen rekursiivisesti Linux-tiedostojärjestelmässä.

Edellä mainitun tarkoituksen saavuttamiseksi voit käyttää hakukomentoa 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äytetyistä komennoista: voit vahingossa poistaa kriittisiä järjestelmähakemistoja, mikä johtaa järjestelmän toimintahäiriöön.

Seuraavassa esimerkissä etsimme hakemistoa nimeltä files_2008 ja poistamme sen rekursiivisesti:

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

Voit käyttää myös etsi ja xargs; seuraavassa syntaksissa -print0 -toiminto mahdollistaa koko hakemistopolun tulostamisen vakiotulosteeseen ja sen jälkeen tyhjän merkin:

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

Käyttämällä samaa esimerkkiä yllä, 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 pysyvästi ja turvallisesti Linuxista.

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

  1. fdupes - Komentorivityökalu kaksoiskappaleiden etsimiseen ja poistamiseen Linuxissa
  2. Kuinka löytää ja poistaa päällekkäisiä/ei-toivottuja tiedostoja Linuxissa FSlint-työkalun avulla
  3. 3 tapaa poistaa kaikki hakemiston tiedostot paitsi yksi tai muutama laajennuksella varustettu tiedosto

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