Existe um comando para mostrar o histórico do Firefox no Terminal?
sem a necessidade de entrar graficamente no histórico do Firefox.
Responder1
Esta páginadescreve quais informações específicas do usuário são armazenadas pelo Firefox e onde.(Eisso é o que a ajuda da Mozilla tem a dizerna visualização de arquivos .sqlite.)
Ele lista três tipos de história:
Favoritos e histórico de navegação: olugares.sqlitearquivo contém todos os seus favoritos do Firefox e a lista de todos os sites que você visitou ...
Histórico de preenchimento automático: ohistórico de formulário.sqliteO arquivo lembra o que você pesquisou na barra de pesquisa do Firefox e quais informações você inseriu nos formulários dos sites...
Histórico de downloads: Odownloads.sqlitearquivo lembra o que você baixou. ...
Como você pode ver, todos os três históricos não são simples arquivos de texto, mas arquivos de banco de dados em sqlite
formato.
Uma maneira de visualizar .sqlite
arquivos é usando sqlite3
( sudo apt-get install sqlite3
).
Abra um terminal e cd
acesse a pasta que contém o que você deseja visualizar. No meu caso, é isso ~/.mozilla/firefox/w4wcp85s.default
.
ls *.sqlite
lista os arquivos sqlite.
Execute sqlite3 places.sqlite
(se places.sqlite for o que você deseja visualizar). Você verá algo assim:
$ 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>
Agora, há várias coisas que você pode fazer. (Use Ctrl+ Dpara sair do sqlite3).
Por exemplo, digitar .tables
e pressionar Enterme dá:
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>
Para visualizar o conteúdo digite SELECT * FROM table_name;
(onde table_name
está o nome da tabela que deseja visualizar; observe o ;
) e pressione Enter. É bem provável que a saída não seja compreensível, mas isso não é culpa do sqlite3.
Para mostrar um exemplo quefazfornecer resultados decentes, veja stylish.sqlite
(se você usar oExtensão elegante):
$ ~/.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}
Você pode fazer tudo com apenas um comando não interativo se souber exatamente o que deseja. LerA ferramenta de linha de comando sqlite3para saber mais sobre sqlite3.
$ sqlite3 stylish.sqlite "SELECT * FROM styles;" > ~/Desktop/filename.txt
fará o necessário no exemplo dado e tee
permitirá que você veja a saída na tela também:
$ sqlite3 stylish.sqlite "SELECT * FROM styles;" | tee ~/Desktop/filename.txt
(Obrigado devidoaqui.)
Responder2
Aqui está o que acabei (graças às respostas anteriores):
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
Responder3
No meuUbuntu 13.10está ligado
/home/myusername/.mozilla/firefox/nod2ejl8.default/places.sqlite
Ou você poderia
find / -name 'places.sqlite
Como é um *.sqlitearquivo, você pode instalar esteplug-in vimE usevim, procure uma maneira de abrir umsqlitearquivo do terminal. Mais informações podem ser encontradasaqui.
Responder4
esta é uma versão melhorada do script de @pawamoyhttps://askubuntu.com/a/909222/772891
a diferença é que minha versão retorna resultados mesmo quando um banco de dados sqlite está bloqueado, ou seja, quando o Firefox está rodando:
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