Можно ли просмотреть историю Firefox с помощью терминала?

Можно ли просмотреть историю Firefox с помощью терминала?

Есть ли команда для отображения истории Firefox из Терминала?

без необходимости графического входа в историю Firefox.

решение1

Эта страницаописывает, какую пользовательскую информацию хранит Firefox и где она находится.вот что говорит справка Mozilla(при просмотре файлов .sqlite.)

В нем перечислены три типа истории:

  • Закладки и история просмотров:места.sqliteфайл содержит все ваши закладки Firefox и список всех посещенных вами веб-сайтов...

  • История автозаполнения:formhistory.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

это улучшенная версия скрипта @pawamoyhttps://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

Связанный контент