Cercare file in Linux. Ricerca di file in base alla data
Il comando “find”
Il comando find
permette di eseguire la ricerca di file da linea di comando in sistemi Linux. L’uso base segue una sintassi del tipo:
find
Un comando di questo tipo produce un elenco contenente tutti i file della cartella specificata e delle relative sottocartelle. Un modo rapido, anche se poco elegante, e utilizzare il comado grep
per filtrare l’output prodotto.
find | grep
La selezione per data
Il comando find
permette tramite alcuni switch di selezionare i file in base alla data. Tra tutti quelli disponibile i più interessanti sono i seguenti:
-mtime
Permette di selezionare i file più vecchi o più giovani di un determinato numero di giorni.
find -mtime
trova tutti i file più recenti di n giorni.
find -mtime
trova tutti i file più vecchi di n giorni.
-newerXY
Questo switch permette di trovare tutti i files più recnti di una determinata data. Tale data può essere la data di modifica o creazione di un file o un valore direttamente immesso sulla linea di comando. La selezione di cosa confrontare è data dalla valorizzazione delle lettere XY che possono assumere i valori riportati nella seguente tabella, con i relativi significati:
a The access time of the file reference B The birth time of the file reference c The inode status change time of reference m The modification time of the file reference t reference is interpreted directly as a time
Un esempio dell’uso di questo switch è il seguente:
find ./ -newermt "2019-02-16"
Interessante anche la possibilità di poter selezionare i file in un intervallo di date usando la sintassi:
find ./ -newermt "2019-02-16" ! -newermt '2019-02-20'
La man page del comando find
la si può trova qui: find(1)