當前位置: 首頁>>技術教程>>正文


我可以在終端上查看Firefox曆史記錄嗎?

問題描述

是否有命令從終端顯示Firefox曆史記錄?

無需以圖形方式輸入Firefox曆史記錄。

最佳方法

This page描述了Firefox存儲的user-specific信息及其存儲位置。 (並且在查看.sqlite文件時為this is what Mozilla’s help has to say。)

它列出了三種類型的曆史記錄:

  • 書簽和瀏覽曆史記錄:places.sqlite文件包含您的所有Firefox書簽以及您訪問過的所有網站的列表…

  • 自動完成記錄:formhistory.sqlite文件會記住您在Firefox搜索欄中搜索的內容以及您在網站上的表單中輸入的信息…

  • 下載曆史記錄:downloads.sqlite文件會記住您下載的內容。 …

如您所見,這三個曆史記錄都不是簡單的文本文件,而是sqlite格式的數據庫文件。

查看.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> 

現在,您可以執行幾項操作。 (使用Ctrl + D退出sqlite3)。

例如,鍵入.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(如果使用Stylish extension):

$ ~/.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}

如果您完全知道自己想要什麽,則可以隻用一個非交互式命令來完成所有操作。有關sqlite3的更多信息,請閱讀The sqlite3 command line tool

$ sqlite3 stylish.sqlite "SELECT * FROM styles;" > ~/Desktop/filename.txt 

將在給定的示例中完成所需的操作,並且tee將使您也可以在屏幕上看到輸出:

$ sqlite3 stylish.sqlite "SELECT * FROM styles;" | tee ~/Desktop/filename.txt 

(感謝here。)

次佳方法

這是我最後得到的結果(由於先前的答案):

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

第三種方法

在我的Xubuntu 13.10上

/home/myusername/.mozilla/firefox/nod2ejl8.default/places.sqlite

或者你可以

find / -name 'places.sqlite

由於它是* .sqlite文件,因此您可以安裝此vim plugin並使用vim,以尋找一種從終端打開sqlite文件的方法。可以找到更多信息here

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/11794.html,未經允許,請勿轉載。