
Cercare (e trovare) velocemente un file
Spesso succede di non riuscire
a trovare un file (di qualsiasi
tipo esso sia), semplicemente perché
non ricordiamo più in quale delle migliaia
di directory che compongono il
nostro file system lo abbiamo salvato.
Proprio per far fronte a questi inconvenienti
esiste una utility chiamata slocate
in grado di trovare rapidamente
tutti i file che ci interessano. In pratica,
si tratta della versione sicura del comando
locate, infatti il nome significa
secure locate. Questo tool risulta estremamente
veloce perché invece di cercare
i file direttamente nell'hard disk,
effettua la ricerca in un database creato
in precedenza. Questo particolare
database, inoltre, è tenuto sempre aggiornato
automaticamente attraverso
l'uso del sistema di scheduling (pianificazione
dei processi) cron. Quest'ultimo
si occupa di eseguire il comando updatedb,
responsabile dell'aggiornamento
del database, con cadenza giornaliera.
Inoltre, questa particolare versione
di locate, proprio perché più sicura,
evita di mostrare file che normalmente
non potrebbero essere visualizzati
dall'utente che la esegue, aumentando
così la privacy e la sicurezza, ancora
più importanti nel caso di sistemi
multi-utente. Supponiamo, ad esempio,
di voler individuare i file che contengono
la parola fstab nel nome. Per
farlo è sufficiente eseguire slocate
fstab. Così facendo otterremo, quasi
istantaneamente, l'elenco dei singoli file,
comprensivo dell'intero percorso che
indica la loro posizione all'interno del
file system. Per poter individuare anche
i file altrimenti visualizzabili solo
dall'utente root bisogna anteporre sudo
al comando slocate, o diventare
prima root con su e poi eseguire il comando.
Ovviamente, come accade con
altri comandi di ricerca, anche con slocate
è possibile utilizzare caratteri speciali
come l'asterisco per effettuare richieste
più generiche quando non si
conosce esattamente il nome dei file
da cercare o, addirittura, usare le cosiddette
“regular expression” (espressione
regolare), termine che indica
una sintassi del comando più complessa,
molto usata per eseguire ricerche all'interno
dei database. Senza entrare
nel dettaglio basta pensare ad esse come
ad un sostituto per andare oltre la
semplice ricerca di parole o di caratteri.
Questa è una caratteristica molto diffusa
in ambiente GNU/Linux, tanto è vero che la si trova in molti comandi.
Per fare un esempio delle potenzialità delle
espressioni regolari basta eseguire
quando segue: slocate -r “T[a-c][g]”.
Il comando precedente fa in modo che
slocate cerchi una parola che contiene
la lettera T seguita da un'altra compresa
tra a e c ma con in terza posizione la
lettera g.