Mac OS X 内でこれまでにダウンロードされたすべてのファイルのダウンロード履歴リストを表示
目次:
Mac のダウンロード履歴全体のリストを表示したいと思ったことはありませんか?ファイルをダウンロードしたことは知っているかもしれませんが、どこからダウンロードしたかを正確に特定できず、「情報を取得」トリックが機能しませんでした。または、問題を引き起こしたシステムに配置されたファイルを追跡しようとしている可能性があります。トラブルシューティング、個人的な興味、法医学のいずれであっても、次のコマンドを実行すると、ダウンロード元のアプリケーションに関係なく、Mac にダウンロードしたすべてのものが表示されます:
Macにダウンロードされたすべてのファイルのリストを表示する方法
これは、Mac を悪意のあるダウンロードから保護することを目的とした、OS X のファイル検疫データベースにクエリを実行することによって機能します。この目的のために、Terminal アプリケーションと sqlite を使用します。
- /Applications/Utilities/ からターミナルを起動し、次のコマンドを 1 行に入力します:
- Return キーを押して、ダウンロードしたファイルのリストを表示します
sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV 'LSQuarantineEvent から LSQuarantineDataURLString を選択'
Mac の使用年数とダウンロードしたデータの量によっては、データベースにクエリを実行して結果をダンプするのに時間がかかる場合があります。ダウンロードしたリストを同様のアイテムまたはソースにグループ化するために、結果を「ソート」にパイプすることができます。これは次のようになります:
sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV 'LSQuarantineEvent から LSQuarantineDataURLString を選択' |選別
見やすくするために、出力をテキスト ファイルにリダイレクトすることもできます。このコマンドは、アクティブ ユーザーのデスクトップにある「QuarantineEventList.txt」というファイルにリストをダンプします:
sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV 'LSQuarantineEvent から LSQuarantineDataURLString を選択' > ~/Desktop/QuarantineEventList.txt
出力には、Quarantine Manager を通過したすべてのものがリストされます。これは、Mac OS X の最近のいくつかのバージョンでは、元のアプリケーションに関係なく、文字通り Mac にダウンロードされたすべてのアイテムです。一般に、Mac が古く、ダウンロードされたファイルが多いほど、リストが大きくなり、クエリの実行にかかる時間が長くなります。
このリストは、ファイルとアプリのファイル検疫がオフになっている場合でも機能します。それを確認するための inket のおかげです。
ダウンロード履歴リストの削除
ダウンロードしたファイルの包括的な履歴リストが必要ない場合は、次のコマンドを実行して検疫データベースの内容を削除できます:
sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV 'LSQuarantineEvent から削除'
これを個別に実行するか、.bash_profile または .profile に配置して、新しいターミナル ウィンドウが起動されたときにデータベースを自動的にクリアすることができます。
これは、以前のバージョンから OS X El Capitan (10.11.x+)、OS X Yosemite、OS X Mavericks 10.9.5 およびおそらくより新しい。このコマンドと、それを使用した OS X のバージョンが成功した場合は、コメントでお知らせください。
すばらしいヒントをくれた Scott に感謝し、delete 構文について Wiggums に感謝します。