GNU/Linux >> Linux Esercitazione >  >> Linux

Come eliminare file più vecchi di giorni specificati in Linux

Come forse già saprai, utilizziamo il comando rm in Linux per eliminare file e cartelle. I nomi dei file da eliminare devono essere passati come argomenti a rm . Tuttavia, rm non offre altre opzioni da solo, come l'eliminazione di file in base a timestamp.

Questo è il motivo per cui utilizziamo il comando find in Linux, che viene utilizzato per cercare file e cartelle in base a parametri diversi. È un comando complesso che può essere utilizzato per eseguire ricerche con parametri come il nome del file, la dimensione, il tipo di file, ecc.

C'è un'opzione nel comando trova per cercare i file in base alla loro età e oggi vedremo come utilizzare trova e rm insieme per eliminare i file più vecchi del numero di giorni specificato.

Trova file più vecchi di N giorni

Usiamo l'argomento '-atime' del comando find per trovare file più vecchi di N giorni, ovvero l'ultimo accesso prima di almeno N giorni.

$ find <directory_path> -atime +<N>
$ find . -atime +3

Ci sono due file nella corrente a cui è stato effettuato l'ultimo accesso almeno 4 giorni fa. Usiamo la "stat ' comando per verificarlo:

$ stat tmp2 tmp3

Come puoi vedere, i file sono 4 e 5 rispettivamente di giorni. Si noti che il programma ignora qualsiasi parte frazione del timestamp quando calcola quanti anni ha un file; quindi, ad esempio, quando devono essere specificati file più vecchi di 4 giorni o più, specifichiamo +3 .

Elimina file più vecchi di N giorni

Infine, chiamiamo il comando rm con l'argomento '-exec' per eliminare questi file.

$ find . -atime +3 -exec rm {} \;

Quindi i due file "tmp2 ' e 'tmp3 ' sono stati eliminati.

Conclusione

In questo articolo, abbiamo visto come eliminare file più vecchi di un numero di giorni specificato in Linux. Come forse saprai, nei file system Linux (e Unix), il tempo di creazione di un file non viene mantenuto. I tre timestamp mantenuti per un file sono; l'ora dell'ultimo accesso, l'ora dell'ultima modifica e l'ora dell'ultima modifica dello stato.

Qui abbiamo considerato l'ultimo tempo di accesso per la ricerca dei file. Gli utenti possono scegliere di passare anche alla modifica o al cambio di stato:usa semplicemente le opzioni '-mtime' o '-ctime' rispettivamente, invece di '-atime' e il resto della sintassi rimane la stessa.

Grazie per aver letto! Facci sapere cosa ne pensi nei commenti qui sotto!


Linux
  1. Come trovare file duplicati in Linux

  2. Come trovare i file modificati negli ultimi 30 giorni in Linux?

  3. Come trovare tutti i file di dimensioni superiori a 1 GB in Linux?

  4. Come rimuovere file più vecchi di N giorni usando tmpreaper in Linux

  5. Come trovare ed eliminare file più vecchi di un determinato periodo di tempo in Linux

Come trovare file in Linux

Come contare i file nella directory in Linux

Come trovare ed eliminare file duplicati in Linux

Come eliminare file più vecchi di giorni specificati in Linux

Script bash per eliminare file più vecchi di x giorni con sottodirectory

Linux:utilizzo di find per individuare i file più vecchi di <date>