web-dev-qa-db-fra.com

Puis-je voir l'historique de Firefox avec le terminal?

Existe-t-il une commande pour afficher l'historique de Firefox à partir du terminal?

sans avoir besoin d'entrer l'historique de Firefox graphiquement.

27
nux

Cette page décrit quelles informations spécifiques à l'utilisateur sont stockées par Firefox et où. (Et c'est ce que l'aide de Mozilla a à dire lors de la visualisation de fichiers .sqlite.)

Il énumère trois types d’histoire:

  • Marque-pages et historique de navigation: Le fichier places.sqlite contient tous vos marque-pages Firefox et la liste de tous les sites Web que vous avez visités ...

  • Historique de saisie semi-automatique: Le fichier formhistory.sqlite enregistre ce que vous avez recherché dans la barre de recherche de Firefox et les informations que vous avez entrées dans des formulaires sur des sites Web. .

  • Historique des téléchargements: Le fichier downloads.sqlite enregistre ce que vous avez téléchargé. ...

Comme vous pouvez le constater, les trois historiques ne sont pas de simples fichiers texte, mais des fichiers de base de données au format sqlite.

Une façon de visualiser les fichiers .sqlite consiste à utiliser sqlite3 (Sudo apt-get install sqlite3).

Ouvrez un terminal et cd dans le dossier contenant ce que vous voulez voir. Dans mon cas, c'est ~/.mozilla/firefox/w4wcp85s.default.

ls *.sqlite liste les fichiers sqlite.

Exécutez sqlite3 places.sqlite (si places.sqlite est ce que vous voulez voir). Vous verrez quelque chose comme ça:

$ 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> 

Maintenant, il y a plusieurs choses que vous pouvez faire. (Utilisation Ctrl+D pour quitter sqlite3).

Par exemple, tapez .tables et appuyez sur Enter Donne moi:

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> 

Pour afficher le contenu, saisissez SELECT * FROM table_name; (où table_nameest le nom de la table à afficher; notez le ;) et appuyez sur Enter. Il est fort probable que la sortie ne sera pas compréhensible, mais ce n’est pas la faute de sqlite3.

Pour vous montrer un exemple qui fournit une sortie correcte, regardez stylish.sqlite (si vous utilisez le 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}

Vous pouvez tout faire en une seule commande non interactive si vous savez exactement ce que vous voulez. Lire L'outil de ligne de commande sqlite pour plus d'informations sur sqlite3.

$ sqlite3 stylish.sqlite "SELECT * FROM styles;" > ~/Desktop/filename.txt 

fera le nécessaire dans l'exemple donné et tee vous permettra également de voir la sortie à l'écran:

$ sqlite3 stylish.sqlite "SELECT * FROM styles;" | tee ~/Desktop/filename.txt 

(Merci dû ici .)

27
user25656

Voici ce que j'ai fini avec (grâce aux réponses précédentes):

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
6
pawamoy

Sur mon Xubuntu 13.10 c'est sur

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

Ou tu pourrais

find / -name 'places.sqlite

Puisqu'il s'agit d'un fichier * . Sqlite , vous pouvez installer ce plugin ) et utilisez vim , recherchez un moyen d'ouvrir un sqlite fichier du terminal. Plus d'informations peuvent être trouvées ici .

3
Lynob