ターミナルから Firefox の履歴を表示するコマンドはありますか?
Firefox の履歴をグラフィカルに入力する必要はありません。
答え1
このページFirefox によってどのようなユーザー固有の情報がどこに保存されるかを説明します。(そしてMozillaのヘルプにはこう書いてある.sqlite ファイルの表示について。
3 種類の履歴がリストされます。
ブックマークと閲覧履歴:場所.sqliteファイルには、すべての Firefox ブックマークと、アクセスしたすべての Web サイトのリストが含まれています...
オートコンプリート履歴:フォーム履歴.sqliteファイルは、Firefox の検索バーで検索した内容や、Web サイトのフォームに入力した情報を記憶します...
ダウンロード履歴:ダウンロード.sqliteファイルはダウンロードした内容を記憶します。 ...
ご覧のとおり、3 つの履歴はすべて単純なテキスト ファイルではなく、データベース ファイルsqlite
形式です。
ファイルを表示する方法の 1 つは、( ).sqlite
を使用することです。 sqlite3
sudo apt-get install sqlite3
ターミナルを開き、cd
表示したいものが含まれているフォルダーに移動します。私の場合は、 です~/.mozilla/firefox/w4wcp85s.default
。
ls *.sqlite
sqlite ファイルを一覧表示します。
実行しますsqlite3 places.sqlite
(表示したいのが places.sqlite である場合)。次のような画面が表示されます。
$ cd ~/.mozilla/firefox/w4wcp85s.default
$ sqlite3 places.sqlite
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
ここで、いくつかの操作を実行できます。( sqlite3 を終了するにはCtrl+を使用しますD)。
たとえば、入力し.tables
て押すと、Enter次のようになります。
sqlite> .tables
moz_anno_attributes moz_favicons moz_items_annos
moz_annos moz_historyvisits moz_keywords
moz_bookmarks moz_hosts moz_places
moz_bookmarks_roots moz_inputhistory
sqlite>
内容を表示するには、SELECT * FROM table_name;
(table_name
は表示するテーブルの名前です。 に注意してください;
) と入力し、 を押しますEnter。出力が理解できない可能性は高いですが、それは sqlite3 のせいではありません。
例を挙げるとする適切な出力を提供するには、stylish.sqlite
(スタイリッシュな拡張機能):
$ ~/.mozilla/firefox/w4wcp85s.default $ sqlite3 stylish.sqlite
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
style_meta styles
sqlite> SELECT * FROM styles;
6||||YouTube|/* AGENT_SHEET */
/* ▓▓ NIGHTSHIFT - eye care: ▓▓
▓▓_http://userstyles.org/styles/18192/nightshift-eye-care_▓▓ */
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document regexp("https?://www.youtube.com/.*") {
body,html {min-height: 100%!important; }
html, body{background-color:#111!important}
やりたいことが正確に分かっていれば、1つの非対話型コマンドですべてを行うことができます。sqlite3 コマンドラインツールsqlite3 の詳細については、こちらをご覧ください。
$ sqlite3 stylish.sqlite "SELECT * FROM styles;" > ~/Desktop/filename.txt
指定された例で必要なことを実行し、tee
出力を画面上に表示することもできます。
$ sqlite3 stylish.sqlite "SELECT * FROM styles;" | tee ~/Desktop/filename.txt
(感謝の意ここ。
答え2
最終的に私が得た答えは次のとおりです (以前の回答のおかげです):
db=$(find "${HOME}/.mozilla/firefox/" -name "places.sqlite")
query="select p.url from moz_historyvisits as h, moz_places as p where substr(h.visit_date, 0, 11) >= strftime('%s', date('now')) and p.id == h.place_id order by h.visit_date;"
todays_urls=$(sqlite3 "${db}" "${query}")
echo "${todays_urls}" > todays_urls
答え3
答え4
これは@pawamoyのスクリプトの改良版ですhttps://askubuntu.com/a/909222/772891
違いは、私のバージョンでは、sqlite DB がロックされているとき、つまり Firefox が実行されているときでも結果が返されることです。
db=$(find "${HOME}/.mozilla/firefox/" -name "places.sqlite" | head -1)
query="select p.url from moz_historyvisits as h, moz_places as p where substr(h.visit_date, 0, 11) >= strftime('%s', date('now')) and p.id == h.place_id order by h.visit_date;"
todays_urls=$(sqlite3 "file://${db}?immutable=1" "${query}")
echo "${todays_urls}" > todays_urls