Kann ich den Firefox-Verlauf mit dem Terminal anzeigen?

Kann ich den Firefox-Verlauf mit dem Terminal anzeigen?

Gibt es einen Befehl, um den Firefox-Verlauf vom Terminal aus anzuzeigen?

ohne dass Sie den Firefox-Verlauf grafisch aufrufen müssen.

Antwort1

Diese Seitebeschreibt, welche benutzerspezifischen Informationen von Firefox gespeichert werden und wo.(UndDas sagt die Mozilla-Hilfebeim Anzeigen von .sqlite-Dateien.)

Es werden drei Arten von Geschichte aufgelistet:

  • Lesezeichen und Browserverlauf: DieOrte.sqliteDie Datei enthält alle Ihre Firefox-Lesezeichen und die Liste aller von Ihnen besuchten Websites …

  • Autovervollständigungsverlauf: Derformhistory.sqliteDie Datei merkt sich, wonach Sie in der Firefox-Suchleiste gesucht haben und welche Informationen Sie in Formulare auf Websites eingegeben haben …

  • Download-Verlauf: Derdownloads.sqliteDie Datei merkt sich, was Sie heruntergeladen haben. ...

Wie Sie sehen, sind alle drei Verlaufsdateien keine einfachen Textdateien, sondern Datenbankdateien im sqliteFormat.

Eine Möglichkeit zum Anzeigen .sqlitevon Dateien ist die Verwendung von sqlite3( sudo apt-get install sqlite3).

Öffnen Sie ein Terminal und cdgehen Sie zu dem Ordner, der die gewünschten Inhalte enthält. In meinem Fall ist das ~/.mozilla/firefox/w4wcp85s.default.

ls *.sqlitelistet die SQLite-Dateien auf.

Führen Sie es aus sqlite3 places.sqlite(wenn Sie places.sqlite anzeigen möchten). Sie werden etwa Folgendes sehen:

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

Jetzt können Sie verschiedene Dinge tun. (Verwenden Sie Ctrl+ D, um sqlite3 zu beenden).

Wenn ich beispielsweise tippe .tablesund drücke, Entererhalte ich Folgendes:

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> 

Um den Inhalt anzuzeigen, geben Sie ein SELECT * FROM table_name;(wobei table_nameder Name der Tabelle ist, die Sie anzeigen möchten; beachten Sie das ;) und drücken Sie Enter. Es ist durchaus möglich, dass die Ausgabe nicht verständlich ist, aber das ist nicht die Schuld von sqlite3.

Um Ihnen ein Beispiel zu zeigen, dastutliefern anständige Ausgabe, schauen Sie stylish.sqlite(wenn Sie dieStilvolle Erweiterung):

$ ~/.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}

Sie können alles mit nur einem nicht-interaktiven Befehl erledigen, wenn Sie genau wissen, was Sie wollen. Lesen SieDas SQLite3-Kommandozeilentoolfür weitere Informationen zu SQLite3.

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

erledigt das Nötige im angegebenen Beispiel und teezeigt Ihnen die Ausgabe auch auf dem Bildschirm an:

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

(Danke gebührtHier.)

Antwort2

Hier ist das Ergebnis (dank der vorherigen Antworten):

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

Antwort3

Auf meinemXubuntu 13.10ist Zustand

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

Oder Sie könnten

find / -name 'places.sqlite

Da es ein * ist.sqliteDatei können Sie diese installierenVim-Pluginund Verwendungvim, suchen Sie nach einer Möglichkeit zum Öffnen einessqliteDatei vom Terminal. Weitere Informationen finden SieHier.

Antwort4

Dies ist eine verbesserte Version von @pawamoys Skripthttps://askubuntu.com/a/909222/772891

der Unterschied besteht darin, dass meine Version auch dann Ergebnisse zurückgibt, wenn eine SQLite-Datenbank gesperrt ist, d. h. wenn Firefox ausgeführt wird:

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

verwandte Informationen