Tips: ottenere da Terminale lo storico dei download effettuati sul Mac

Se si fanno numerosi download, magari effettuati da applicazioni diverse (browser o altro), può capitare che si voglia ricercare l’origine di un file, vuoi per necessità vuoi per curiosità. Qualora però si proceda a pulizie periodiche delle singole liste di file scaricati nelle applicazioni, ciò non è possibile. Quantomeno apparentemente. Perché un tip di OSXDaily ci rivela un altro dei tanti piccoli segreti di OS X: il sistema operativo mantiene uno storico di tutti i download effettuati, da qualsiasi software, dal primo login post-installazione in poi (ovviamente vale solo per i sistemi attualmente in uso; per coloro che hanno reinstallato OS X non è possibile ottenere anche gli storici precedenti).

Il tip è stato verificato su Lion e Mountain Lion, ma con alcune modifiche dovrebbe essere applicabile anche a Snow Leopard (non è stato però da noi testato, dunque non ci assumiamo responsabilità riguardo il corretto funzionamento). Per prima cosa, apriamo il Terminale dalla cartella Utility (da Applicazioni o dal Launchpad è indifferente). Una volta avviato, immettiamo la seguente stringa:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent'

(Per Snow Leopard è necessario rimuovere V* dopo QuarantineEvents, il resto rimane invariato, spazi inclusi)

Premuto Invio, il Mac inizierà a interrogare il database contenente la lista dei download effettuati e dopo poco tempo, variabile a seconda della quantità di elementi da riportare, potremo avere lo storico con gli indirizzi di origine dei file scaricati (mi scuso per gli “omissis” fatti in modo poco elegante presenti nell’immagine).

Il principio in cui sono ordinati dal primo all’ultimo è cronologico: più si va avanti scorrendo nella lista, più i download sono recenti. Volendo, per chi cercasse informazioni più specifiche è possibile fare in modo che la lista venga riportata in ordine alfabetico:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent' | sort

Una volta consultata la lista, preferiamo per sicurezza cancellarla? Si può, e il comando specifico da eseguire è il seguente:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'

I più avvezzi con Automator, volendo, potranno semplificare l’operazione creando un AppleScript da salvare sulla scrivania ed eseguire periodicamente.

Giovanni "il Razziatore"

Deputy - Ho a che fare con i computer da quando avevo 7 anni. Uso quotidianamente OS X dal 2011, ma non ho abbandonato Windows. Su mobile Android come principale e iOS su iPad. Scrivo su quasi tutto ciò che riguarda la tecnologia.

Commenti controllati Oltre a richiedere rispetto ed educazione, vi ricordiamo che tutti i commenti con un link entrano in coda di moderazione e possono passare diverse ore prima che un admin li attivi. Anche i punti senza uno spazio dopo possono essere considerati link causando lo stesso problema.