Toon de downloadgeschiedenislijst van alle bestanden die ooit zijn gedownload binnen Mac OS X.

Heb je ooit een lijst willen weergeven met de volledige downloadgeschiedenis van een Mac? Misschien weet je dat je een bestand hebt gedownload, maar je kunt niet precies vaststellen waar je het vandaan hebt gehaald en de truc 'Info ophalen' werkte niet. Of misschien probeert u een bestand op te sporen dat op een systeem is geplaatst dat tot problemen heeft geleid. Of het nu gaat om het oplossen van problemen, persoonlijke interesse of forensisch onderzoek, het volgende commando toont u alles wat u naar een Mac hebt gedownload, ongeacht de toepassing waar het vandaan kwam:

Een lijst van alle bestanden weergeven die zijn gedownload naar een Mac

Dit werkt door een query uit te voeren op de bestandsquarantainegegevensbank van OS X, die is bedoeld om Macs te beschermen tegen schadelijke downloads. U gebruikt de Terminal-toepassing en sqlite voor dit doel.

  • Start Terminal vanuit / Applications / Utilities / en voer de volgende opdracht in op één regel:
  • sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent'

  • Druk op Return om de lijst met gedownloade bestanden te zien

Afhankelijk van hoe oud de Mac is en hoeveel dingen u hebt gedownload, kan het even duren om de database te doorzoeken en de resultaten te dumpen. Wellicht wilt u de resultaten pipen via "sorteren" om de gedownloade lijst te groeperen in vergelijkbare items of bronnen, die er als volgt uitzien:

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

Voor het gemak van het bekijken, kunt u de uitvoer ook omleiden naar een tekstbestand, deze opdracht zal de lijst dumpen in een bestand genaamd "QuarantineEventList.txt" op het actieve bureaublad van de gebruiker:

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

De uitvoer geeft een overzicht van alles dat door de Quarantine Manager is gegaan, wat voor de laatste paar versies van Mac OS X vrij letterlijk elk item is dat naar de Mac is gedownload, ongeacht de toepassing waar het vandaan kwam. Over het algemeen geldt hoe ouder de Mac is en hoe meer bestanden zijn gedownload, hoe groter de lijst en hoe langer de query kan duren om te worden uitgevoerd.

Deze lijst werkt zelfs als bestandsquarantaine is uitgeschakeld voor bestanden en apps, dankzij inket om dit te verifiëren.

De lijst met downloadgeschiedenis verwijderen

Voor degenen die liever geen alomvattende historische lijst van gedownloade bestanden hebben, kunt u de volgende opdracht uitvoeren om de inhoud van de quarantainedatabase te verwijderen:

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

U kunt dat individueel uitvoeren of in .bash_profile of .profile plaatsen om de database automatisch te wissen wanneer een nieuw terminalvenster wordt gestart.

Dit is getest en blijft werken in veel versies van Mac OS X, van eerdere versies tot OS X El Capitan (10.11.x +), OS X Yosemite, OS X Mavericks 10.9.5 en vermoedelijk nieuwer. Laat het ons weten in de comments als je succes hebt met deze opdracht en de versie van OS X waarmee je het hebt gebruikt.

Bedankt aan Scott voor de geweldige tip en dankzij Wiggums voor de delete-syntaxis .