当前位置: 首页>>技术教程>>正文


我可以在终端上查看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/article/11794.html,未经允许,请勿转载。