Com cercar i eliminar directoris de manera recursiva a Linux


En un dels nostres articles anteriors, vam explicar com esbrinar els principals directoris i fitxers que consumeixen més espai de disc al sistema de fitxers a Linux. Si observeu que aquests directoris ja no contenen fitxers i subdirectoris importants (com ara còpies de seguretat antigues, descàrregues, etc.), podeu suprimir-los per alliberar espai al vostre disc.

Aquest breu tutorial descriu com trobar i suprimir directoris de forma recursiva al sistema de fitxers Linux.

Per aconseguir l'objectiu anterior, podeu utilitzar l'ordre find juntament amb l'ordre rm utilitzant la sintaxi següent. Aquí, el signe + al final permet llegir diversos directoris simultàniament.

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

Atenció: Heu d'utilitzar l'ordre rm amb cura perquè és una de les ordres més perilloses d'utilitzar a Linux: podeu esborrar accidentalment directoris crítics del sistema, provocant així un error del sistema.

A l'exemple següent, cercarem un directori anomenat files_2008 i el suprimirem de manera recursiva:

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

També podeu utilitzar find i xargs; a la sintaxi següent, l'acció -print0 permet imprimir la ruta completa del directori a la sortida estàndard, seguida d'un caràcter nul:

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

Utilitzant el mateix exemple anterior, tenim:

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

Finalment, però no menys important, si us preocupa la seguretat de les vostres dades, potser voldreu aprendre 3 maneres d'eliminar de manera permanent i segura Fitxers i directoris a Linux.

No oblideu llegir articles més útils sobre la gestió de fitxers i directoris a Linux:

  1. fdupes: una eina de línia d'ordres per trobar i suprimir fitxers duplicats a Linux
  2. Com trobar i eliminar fitxers duplicats/no desitjats a Linux mitjançant l'eina FSlint
  3. 3 maneres d'eliminar tots els fitxers d'un directori excepte un o pocs fitxers amb extensions

En aquest article, us vam mostrar com trobar i eliminar directoris de manera recursiva a Linux. Si teniu alguna pregunta o idees addicionals que voleu afegir a aquest tema, feu servir la secció de comentaris a continuació.