Archivio

Archive for febbraio 2019

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)