Come eliminare in modo ricorsivo un tipo di file in Linux in una directory e in tutte le sue sottodirectory

Elimina in modo ricorsivo un tipo di file

Sicuramente in qualche occasione hai verificato di avere un tipo di file inutile in più cartelle, che occupa poco spazio ma semplicemente non lo vuoi sul tuo computer. Ad esempio, in macOS vengono creati alcuni file .DS_Store che salvano informazioni sull'icona di una cartella, la sua dimensione e posizione, e in Windows ci sono desktop.ini che sono equivalenti. Cosa facciamo se abbiamo una directory piena di sottodirectory e vogliamo eliminare questi o altri tipi di file? Quello che dobbiamo fare è cancellare ricorsivamente Ognuno di loro.

Questo è qualcosa che possiamo fare con tutti i tipi di file. Ad esempio, se abbiamo un disco rigido pieno di musica, abbiamo un lettore che ha scaricato le copertine e non vogliamo che vengano salvate, possiamo usare lo stesso comando che spiegheremo di seguito per eliminarle. Naturalmente, tenendo conto che cancelleremo ricorsivamente i file di directory e le loro sottodirectory con il terminale e che questi andranno persi per sempre, non fa male stare attenti e / o fare un test prima di eliminare tutto ciò che vogliamo eliminare.

Elimina in modo ricorsivo i file di un tipo dal terminale

I comandi per i file macOS .DS_Store di esempio sarebbero i seguenti:

cd ruta/a/directorio
find . -name '*.DS_Store' -type f -delete

Dei comandi precedenti, il primo ci posizionerà nella cartella da cui vogliamo iniziare, cioè quella che contiene tutti i file .DS_Store che vogliamo eliminare. Il secondo è quello che eliminerà tutti i file .DS_Store dal file prima cartella e le sue sottocartelle o directory. Se quello che vogliamo è eliminare le foto dalle cartelle musicali precedentemente menzionate, dobbiamo mettere il tipo di estensione tra le virgolette, ad esempio "* .jpg".

Ad essere onesto al 100%, questo è qualcosa che farò il giorno in cui smetterò di usare Cantata come lettore musicale predefinito. Cantata crea e nasconde file di informazioni con lo stesso nome delle canzoni che hanno un punto e una barra bassa davanti (ad esempio, ._Song). Quando ne avrò bisogno, il comando che dovrò usare sarà trova. -name '._ *' -type f -delete.

Questa piccola guida ti ha aiutato a eliminare in modo ricorsivo i file dal terminale?

Comando Grep
Articolo correlato:
Comando Grep: potente strumento per trovare il testo dal terminale

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Sebastian Castro suddetto

    Grazie, ma c'è un errore nel tuo codice. È necessario utilizzare l'espressione regolare "*", ovvero "* .DS_STORE". Ti consiglio di correggerlo. Bene, per coloro che hanno meno conoscenza di bash, il codice che hai fornito non funzionerà. Saluti!