क्या मैं टर्मिनल के साथ फ़ायरफ़ॉक्स इतिहास देख सकता हूँ?


29

क्या टर्मिनल से फ़ायरफ़ॉक्स इतिहास दिखाने के लिए एक कमांड है?

ग्राफिक रूप से फ़ायरफ़ॉक्स इतिहास दर्ज करने की आवश्यकता के बिना।


क्या आप ऐसा करने की इच्छा के कारण जोड़ सकते हैं?

आप स्वयं फ़ायरफ़ॉक्स का उपयोग क्यों नहीं करना चाहते हैं?

1
@ user25656: यदि आप तेज होना चाहते हैं, तो कमांड लाइन का उपयोग करें। आप इससे आंकड़े निकाल सकते हैं। आप नियमित अभिव्यक्तियों के साथ खोज कर सकते हैं (ई। जी। का उपयोग करना grep), आप ग्राफ़िक्स बना सकते हैं, आदि। फ़ायरफ़ॉक्स के अंदर सब कुछ संभव नहीं है। कम से कम एक एडन को हैक किए बिना नहीं।
एर

जवाबों:


28

यह पृष्ठ बताता है कि फ़ायरफ़ॉक्स द्वारा उपयोगकर्ता-विशिष्ट जानकारी क्या संग्रहीत की गई है और कहां है। (और यह मोज़िला की मदद से .sqlite फ़ाइलों को देखने पर कहना है ।)

यह तीन प्रकार के इतिहास को सूचीबद्ध करता है:

  • बुकमार्क और ब्राउजिंग इतिहास: Places.sqlite फ़ाइल में आपके सभी फ़ायरफ़ॉक्स बुकमार्क और आपके द्वारा देखी गई सभी वेबसाइटों की सूची शामिल है ...

  • स्वतः पूर्ण इतिहास: फ़ॉर्महिस्ट्रॉइट.सक्लाइट फ़ाइल आपको याद है कि आपने फ़ायरफ़ॉक्स खोज बार में क्या खोजा है और आपने वेबसाइटों पर फ़ॉर्म में क्या जानकारी दर्ज की है ...

  • डाउनलोड इतिहास: डाउनलोड की गई फ़ाइल को याद है कि आपने क्या डाउनलोड किया है। ...

जैसा कि आप देख सकते हैं, तीनों हिस्टरी सरल पाठ फाइलें नहीं हैं, लेकिन sqliteप्रारूप में डेटाबेस फाइलें हैं ।

.sqliteफ़ाइलों को देखने का एक तरीका है sqlite3( sudo apt-get install sqlite3)।

एक टर्मिनल खोलें और cdउस फ़ोल्डर को जिसमें आप देखना चाहते हैं। मेरे मामले में, वह है ~/.mozilla/firefox/w4wcp85s.default

ls *.sqlite sqlite फ़ाइलों को सूचीबद्ध करता है।

भागो sqlite3 places.sqlite(यदि Places.sqlite है जिसे आप देखना चाहते हैं)। आप कुछ इस तरह देखेंगे:

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

अब, कई चीजें हैं जो आप कर सकते हैं। (प्रयोग Ctrl+ Dsqlite3 बाहर निकलने के लिए)।

उदाहरण के लिए, टाइपिंग .tablesऔर प्रेस Enterमुझे देता है:

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> 

सामग्री देखने के लिए, SELECT * FROM table_name;( table_nameजिस तालिका को आप देखना चाहते हैं उसका नाम टाइप करें ; नोट करें ;) और दबाएँ Enter। यह काफी संभावना है कि आउटपुट समझ में नहीं आएगा, लेकिन यह sqlite3 की गलती नहीं है।

आपको एक उदाहरण दिखाने के लिए जो अच्छा आउटपुट प्रदान करता है , देखें stylish.sqlite(यदि आप स्टाइलिश एक्सटेंशन का उपयोग करते हैं ):

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

आप सिर्फ एक गैर-संवादात्मक कमांड में सब कुछ कर सकते हैं यदि आप वास्तव में जानते हैं कि आप क्या चाहते हैं। Sqlite3 पर अधिक के लिए sqlite3 कमांड लाइन टूल पढ़ें ।

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

दिए गए उदाहरण में जरूरतमंदों को teeकरेंगे और आपको स्क्रीन पर आउटपुट देखने देंगे:

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

( यहां होने के कारण धन्यवाद ।)


यदि आप किसी विशिष्ट शब्द (e। G। Stackoverflow.com ) के लिए सभी डेटाबेस और सभी तालिकाओं को खोजना चाहते हैं , तो आप बस (एक-लाइनर के रूप में) कर सकते हैं: for DATABASE in *sqlite; do echo -e "********\n$DATABASE\n********";for TABLE in $(sqlite3 $DATABASE ".tables"); do echo -e "========\n$TABLE\n========"; sqlite3 $DATABASE "select * from $TABLE;"; done; done | grep 'stackoverflow\.com'या परिणामों के अंदर grepउपयोग lessऔर खोज के बजाय ।
एर

कुछ ऐसा ही है ~/.bash_history, जो मेरे अंत तक लुढ़कता जा रहा है, इसलिए मैंने बेसिक लिस्टिंग, सॉर्टिंग और फ़िल्टरिंग को आसान बनाने के लिए क्लिक लाइब्रेरी का उपयोग करके पायथन (3.5+) स्क्रिप्ट लिखी । आप इसे इस Gist से प्राप्त कर सकते हैं । यदि आप समस्याओं में भाग लेते हैं तो कृपया टिप्पणी छोड़ दें।
TheDudeAbides

6

यहाँ मैं (पिछले उत्तरों के लिए धन्यवाद) के साथ समाप्त हुआ:

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

1
वास्तव में सबसे उपयोगी-कॉपी-पेस्ट-गैर-क्रियात्मक समाधान। धन्यवाद।
vmassuchetto

आप कई Firefox प्रोफ़ाइल है, तो आप को जोड़ने की आवश्यकता | head -1करने के लिए findआदेश।
mivk

3

मेरे Xubuntu 13.10 पर यह है

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

या आप कर सकते थे

find / -name 'places.sqlite

चूँकि यह एक .sqlite फ़ाइल है, आप इस vim प्लगइन को स्थापित कर सकते हैं और vim का उपयोग कर सकते हैं , टर्मिनल से एक sqlite फ़ाइल खोलने का तरीका खोज सकते हैं । अधिक जानकारी यहां पाई जा सकती है


1
~/.mozilla/firefox/*.default/places.sqliteकाम करना चाहिए
mchid
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.