Показати список історії завантажень усіх файлів, коли-небудь завантажених у Mac OS X
Зміст:
Чи хотіли ви коли-небудь показати список усієї історії завантажень Mac? Можливо, ви знаєте, що завантажили файл, але не можете точно визначити, звідки його взяли, і трюк «Отримати інформацію» не спрацював. Або, можливо, ви намагаєтеся відстежити файл, розміщений у системі, що спричинило проблеми. Будь то для усунення несправностей, особистого інтересу чи криміналістики, наступна команда покаже вам усе, що ви завантажили на Mac, незалежно від програми, з якої це було надіслано:
Як переглянути список усіх файлів, завантажених на Mac
Це працює шляхом запиту до бази даних карантину файлів OS X, яка спрямована на захист Mac від зловмисних завантажень. Для цього ви будете використовувати програму Terminal і sqlite.
- Запустіть термінал із /Applications/Utilities/ і введіть таку команду в одному рядку:
- Натисніть Return, щоб переглянути список завантажених файлів
sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV 'вибрати LSQuarantineDataURLString із LSQuarantineEvent'
Залежно від того, скільки років Mac і скільки всього ви завантажили, може знадобитися деякий час, щоб зробити запит до бази даних і вивести результати. Можливо, ви захочете передати результати через «сортування», щоб згрупувати завантажений список у подібні елементи або джерела, що виглядатиме так:
sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV 'вибрати LSQuarantineDataURLString із LSQuarantineEvent' | сортувати
Для зручності перегляду ви також можете перенаправити вихідні дані в текстовий файл, ця команда виведе список у файл під назвою «QuarantineEventList.txt» на робочому столі активних користувачів:
sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV 'вибрати LSQuarantineDataURLString із LSQuarantineEvent' > ~/Desktop/QuarantineEventList.txt
Вихід містить список усього, що було передано через диспетчер карантину, який для останніх кількох версій Mac OS X є буквально кожним елементом, завантаженим на Mac, незалежно від програми, з якої він надійшов. Як правило, чим старший Mac і чим більше файлів було завантажено, тим більший список і тим довше може знадобитися виконання запиту.
Цей список працює, навіть якщо у вас вимкнено карантин файлів і програм, дякуємо inket за перевірку цього.
Видалення списку історії завантажень
Для тих, хто не бажає мати повний історичний список завантажених файлів, ви можете виконати таку команду, щоб видалити вміст карантинної бази даних:
sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV 'видалити з LSQuarantineEvent'
Ви можете запустити це окремо або розмістити в .bash_profile або .profile, щоб автоматично очистити базу даних, коли відкривається нове вікно терміналу.
Це було протестовано та продовжує працювати в багатьох версіях Mac OS X, від попередніх версій до OS X El Capitan (10.11.x+), OS X Yosemite, OS X Mavericks 10.9.5 та мабуть новіший. Повідомте нам у коментарях, чи вдалося вам виконати цю команду та версію OS X, з якою ви її використовували.
Дякую Скотту за чудову підказку та дякую Віггамсу за синтаксис видалення.