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!