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 sqlite
Format.
Eine Möglichkeit zum Anzeigen .sqlite
von Dateien ist die Verwendung von sqlite3
( sudo apt-get install sqlite3
).
Öffnen Sie ein Terminal und cd
gehen Sie zu dem Ordner, der die gewünschten Inhalte enthält. In meinem Fall ist das ~/.mozilla/firefox/w4wcp85s.default
.
ls *.sqlite
listet 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 .tables
und 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_name
der 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 tee
zeigt 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