我可以使用終端機查看 Firefox 歷史記錄嗎?

我可以使用終端機查看 Firefox 歷史記錄嗎?

是否有從終端機顯示 Firefox 歷史記錄的命令?

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

答案1

這一頁描述 Firefox 儲存哪些使用者特定資訊以及儲存位置。(和這就是 Mozilla 的幫助所說的查看 .sqlite 文件。

它列出了三種類型的歷史:

  • 書籤及瀏覽紀錄:地點.sqlite文件包含您的所有 Firefox 書籤以及您訪問過的所有網站的清單...

  • 自動完成歷史記錄:表單歷史記錄.sqlite文件會記住您在 Firefox 搜尋列中搜尋過的內容以及您在網站表單中輸入的資訊...

  • 下載歷史:下載.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(如果你使用時尚的擴展):

$ ~/.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命令列工具有關 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

在我的Xubuntu 13.10已開啟

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

或者你可以

find / -name 'places.sqlite

因為它是一個 *.sqlite文件,你可以安裝這個vim插件並使用維姆,尋找一種打開方式sqlite來自終端的檔案。更多資訊可以找到這裡

答案4

這是 @pawamoy 腳本的改進版本https://askubuntu.com/a/909222/772891

不同之處在於,即使 sqlite 資料庫被鎖定,即當 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

相關內容