Visa nedladdningshistoriklista över alla filer som någonsin har laddats ner inom Mac OS X

Har du någonsin velat visa en lista över hela hämtningshistoriken för en Mac? Kanske du vet att du hämtade en fil men du kan inte riktigt ange var du fick den och "Get Info" -tricket fungerade inte. Eller kanske försöker du spåra upp en fil som har placerats på ett system som ledde till problem. Oavsett om det gäller felsökning, personligt intresse eller rättsmedicin, kommer följande kommando att visa dig allt som du har laddat ner till en Mac oavsett vilket program det kom ifrån:

Så här visar du en lista över alla filer som laddas ner till en Mac

Detta fungerar genom att fråga om karantändatabasen för OS X, som syftar till att skydda Mac från skadliga nedladdningar. Du använder Terminal-applikationen och sqlite för detta ändamål.

  • Starta terminal från / Program / Verktyg / och skriv följande kommando i en enda rad:
  • sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent'

  • Tryck tillbaka för att se listan över nedladdade filer

Beroende på hur gammal Macen är och hur mycket saker du har laddat ner kan det ta ett tag att fråga databasen och dumpa resultaten. Du kanske vill röra resultaten genom att "sortera" för att gruppera den nedladdade listan till liknande föremål eller källor, som skulle se ut så här:

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

För att underlätta visning kan du också omdirigera utmatningen till en textfil, det här kommandot dumpar listan till en fil som heter "QuarantineEventList.txt" på skrivbordet för aktiva användare:

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

Utmatningen listar allt som har passerat genom karantänhanteraren, vilket för de senaste versionerna av Mac OS X är ganska bokstavligen varje objekt som hämtas till Mac, oavsett vilket program det kom ifrån. Generellt är ju äldre Macen är och desto fler filer har laddats ner, desto större är listan och ju längre frågan kan ta för att köra.

Listan fungerar även om du har karantän avstängd för filer och appar, tack vare inket för att verifiera det.

Radera listan över nedladdningshistorik

För de som hellre inte vill ha en allomfattande historisk lista över nedladdade filer kan du köra följande kommando för att ta bort innehållet i karantändatabasen:

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

Du kan köra det individuellt eller placera det i .bash_profile eller .profile för att rensa databasen automatiskt när ett nytt terminalfönster lanseras.

Detta har testats och fortsätter att fungera i många versioner av Mac OS X, från tidigare versioner till OS X El Capitan (10.11.x +), OS X Yosemite, OS X Mavericks 10.9.5 och förmodligen nyare. Låt oss veta i kommentarerna om du har framgång med det här kommandot och den version av OS X som du har använt den med.

Tack till Scott för det stora tipset, och tack vare Wiggums för radera syntaxen .