Vis downloadhistorik Liste over alle filer, der nogensinde er downloadet inden for Mac OS X

Har du nogensinde ønsket at vise en liste over hele historikens downloadhistorik? Måske ved du at du downloadede en fil, men du kan ikke helt finde ud af, hvor du fik det fra, og "Get Info" -tricket fungerede ikke. Eller måske forsøger du at spore en fil, der er placeret på et system, der førte til problemer. Uanset om det er til fejlfinding, personlig interesse eller retsmedicin, vil følgende kommando vise dig alt, hvad du har downloadet til en Mac, uanset hvilket program det kom fra:

Sådan får du vist en liste over alle filer, der er downloadet til en Mac

Dette virker ved at forespørge filkarantænedatabasen af ​​OS X, som har til formål at beskytte Mac'er mod ondsindede downloads. Du bruger Terminal applikationen og sqlite til dette formål.

  • Start Terminal fra / Applications / Utilities / og indtast følgende kommando i en enkelt linje:
  • sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent'

  • Tryk tilbage for at se listen over downloadede filer

Afhængigt af hvor gammel Macen er, og hvor mange ting du har downloadet, kan det tage et stykke tid at forespørge om databasen og dump resultaterne. Du kan måske røre resultaterne gennem "sortere" for at gruppere den downloadede liste i lignende genstande eller kilder, der ser ud som dette:

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

For at lette visning kan du også omdirigere output til en tekstfil, denne kommando vil dumpe listen i en fil kaldet "QuarantineEventList.txt" på skrivebordet for aktive brugere:

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

Outputen viser alt, hvad der er blevet sendt gennem karantæneadministratoren, som for de sidste flere versioner af Mac OS X er ret bogstaveligt talt hver genstand, der downloades til Mac, uanset hvilken applikation den kom fra. Generelt, jo ældre Mac'en er, og jo flere filer er blevet downloadet, desto større er listen, og jo længere forespørgslen kan tage for at køre.

Denne liste fungerer endda, hvis du har karantæne slået fra for filer og apps, takket være inket for at bekræfte det.

Sletning af downloadhistoriklisten

For dem, der hellere ikke vil have en altomfattende historisk liste over downloadede filer, kan du køre følgende kommando for at slette indholdet i karantændatabasen:

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

Du kan køre det individuelt eller placere det i .bash_profile eller .profile for at rydde databasen automatisk, når et nyt terminalvindue startes.

Dette er blevet testet og fortsætter med at fungere i mange versioner af Mac OS X, fra tidligere versioner til OS X El Capitan (10.11.x +), OS X Yosemite, OS X Mavericks 10.9.5 og formodentlig nyere. Lad os vide i kommentarerne, hvis du har succes med denne kommando og den version af OS X, som du har brugt den med.

Tak til Scott for det store tip, og takket være Wiggums for slette syntaksen .