¿Existe un comando para mostrar el historial de Firefox desde la Terminal?
sin necesidad de ingresar gráficamente el historial de Firefox.
Respuesta1
Esta páginaDescribe qué información específica del usuario almacena Firefox y dónde.(Yesto es lo que la ayuda de Mozilla tiene que decirsobre la visualización de archivos .sqlite.)
Enumera tres tipos de historia:
Marcadores e historial de navegación: ellugares.sqliteEl archivo contiene todos sus favoritos de Firefox y la lista de todos los sitios web que ha visitado...
Historial de autocompletar: elformhistory.sqliteEl archivo recuerda lo que has buscado en la barra de búsqueda de Firefox y qué información has ingresado en los formularios de los sitios web...
Historial de descargas: Eldescargas.sqliteEl archivo recuerda lo que has descargado. ...
Como puede ver, los tres historiales no son simples archivos de texto sino archivos de bases de datos en sqlite
formato.
Una forma de ver .sqlite
archivos es mediante sqlite3
( sudo apt-get install sqlite3
).
Abra una terminal y cd
vaya a la carpeta que contiene lo que desea ver. En mi caso, eso es ~/.mozilla/firefox/w4wcp85s.default
.
ls *.sqlite
enumera los archivos sqlite.
Ejecute sqlite3 places.sqlite
(si lugares.sqlite es lo que desea ver). Verás algo como esto:
$ 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>
Ahora, hay varias cosas que puedes hacer. (Utilice Ctrl+ Dpara salir de sqlite3).
Por ejemplo, escribir .tables
y presionar Enterme da:
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 ver el contenido, escriba SELECT * FROM table_name;
(donde table_name
está el nombre de la tabla que desea ver; observe el ;
) y presione Enter. Es muy probable que el resultado no sea comprensible, pero eso no es culpa de sqlite3.
Para mostrarles un ejemplo quehaceproporcionar un resultado decente, mire stylish.sqlite
(si usa elExtensión con estilo):
$ ~/.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}
Puedes hacer todo con un solo comando no interactivo si sabes exactamente lo que quieres. LeerLa herramienta de línea de comando sqlite3para obtener más información sobre sqlite3.
$ sqlite3 stylish.sqlite "SELECT * FROM styles;" > ~/Desktop/filename.txt
hará lo necesario en el ejemplo dado y tee
también le permitirá ver el resultado en la pantalla:
$ sqlite3 stylish.sqlite "SELECT * FROM styles;" | tee ~/Desktop/filename.txt
(Gracias debidoaquí.)
Respuesta2
Esto es con lo que terminé (gracias a las respuestas 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
Respuesta3
En miXubuntu 13.10esta encendido
/home/myusername/.mozilla/firefox/nod2ejl8.default/places.sqlite
O podrías
find / -name 'places.sqlite
Ya que es un *.sqlitearchivo, puedes instalar estecomplemento vimy useempuje, busque una manera de abrir unsqlitearchivo desde la terminal. Se puede encontrar más informaciónaquí.
Respuesta4
esta es una versión mejorada del script de @pawamoyhttps://askubuntu.com/a/909222/772891
la diferencia es que mi versión devuelve resultados incluso cuando una base de datos sqlite está bloqueada, es decir, cuando Firefox se está ejecutando:
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