ALPHACON BBSGość · pl
← Protipy

Protipy / macOS

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 'select DISTINCT LSQuarantineDataURLString from LSQuarantineEvent' - pokaż historię pobranych plików na MacOS

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 'select DISTINCT LSQuarantineDataURLString from LSQuarantineEvent'

Wstęp

W bazie SQLite3 znajdującej się w ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 (w Snow Leopard i wcześniejszych było to Library/Preferences/com.apple.LaunchServices.QuarantineEvents) znajdują się informacje o pobranych przez różne aplikacje plikach.

W naszym onelinerze korzystamy z domyślnie zainstalowanego klienta sqlite3, by następnie wykonać zapytanie, by zwróciło unikalne rekordy z tego loga.

W przypadku, kiedy byśmy chcieli uzyskać więcej informacji, możemy poza kolumną LSQuarantineOriginURLString odpytać również o czas (kolumna LSQuarantineTimeStamp odpowiednio potraktowana by wyświetlić czytelną datę) oraz o program, który został do pobrania użyty - kolumna LSQuarantineAgentName, a więc np.:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2  'SELECT datetime(LSQuarantineTimeStamp + 978307200, "unixepoch") as LSQuarantineTimeStamp, LSQuarantineAgentName, LSQuarantineOriginURLString, LSQuarantineDataURLString from LSQuarantineEvent where LSQuarantineDataURLString != ""'

Jeśli np. chcemy wyświetlić co i kiedy pobrały wszystkie programy poza Chromem, moglibyśmy dodać odpowiedni warunek na koniec, czyli:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2  'SELECT datetime(LSQuarantineTimeStamp + 978307200, "unixepoch") as LSQuarantineTimeStamp, LSQuarantineAgentName, LSQuarantineOriginURLString, LSQuarantineDataURLString from LSQuarantineEvent where LSQuarantineDataURLString != "" AND LSQuarantineAgentName != "Chrome"'

..i tak dalej. A dla dociekliwych, jeśli chcielibyśmy zobaczyć jakie informacje z tej bazy możemy jeszcze wyświetlić, wykorzystać możemy polecenie .sch bazy danych SQLite3, a więc:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 ".sch"

Linki