Есть ли команда для отображения истории Firefox из Терминала?
без необходимости графически вводить историю Firefox.
На этой странице описывается, какая специфичная для пользователя информация хранится в Firefox и где. (И это то, что говорит Mozilla о просмотре файлов .sqlite.)
В нем перечислены три типа истории:
Закладки и история просмотров: файл place.sqlite содержит все ваши закладки Firefox и список всех посещенных вами веб-сайтов ...
История автозаполнения: файл formhistory.sqlite запоминает, что вы искали в строке поиска Firefox, и какую информацию вы вводили в формы на веб-сайтах ...
История загрузок: файл downloads.sqlite запоминает то, что вы загрузили. ...
Как видите, все три истории - это не простые текстовые файлы, а файлы базы данных в формате sqlite
.
Одним из способов просмотра файлов .sqlite
является использование sqlite3
(sudo apt-get install sqlite3
).
Откройте терминал и cd
перейдите в папку, содержащую то, что вы хотите просмотреть. В моем случае это ~/.mozilla/firefox/w4wcp85s.default
.
ls *.sqlite
перечисляет файлы sqlite.
Запустите sqlite3 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 kbd> + D kbd> для выхода из sqlite3).
Например, набрав .tables
и нажав Enter kbd>, вы получите:
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 kbd>. Вполне вероятно, что вывод не будет понятным, но это не ошибка 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
(Спасибо за здесь .)
Вот что я закончил (благодаря предыдущим ответам):
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
На моем Xubuntu 13.10 он включен
/home/myusername/.mozilla/firefox/nod2ejl8.default/places.sqlite
Или вы можете
find / -name 'places.sqlite
, так как это файл * .sqlite , вы можете установить этот плагин vim и использовать vim , найти способ открыть Файл sqlite из терминала. Более подробную информацию можно найти здесь здесь .
Еще одна удобная однострочная копия, основанная на всем вышеперечисленном:
(cd ~/.mozilla/firefox; for a in */places.sqlite; do sqlite3 $a "select h.visit_date,p.url from moz_historyvisits as h, moz_places as p where p.id == h.place_id order by h.visit_date"; done)
Если вы работаете в Windows, установите cygwin, WSL, coreutils И sqlite3, а затем:
(cd %APPDATA%/Mozilla/Firefox/Profiles; for a in */places.sqlite; do sqlite3 $a "select h.visit_date,p.url from moz_historyvisits as h, moz_places as p where p.id == h.place_id order by h.visit_date"; done)
... Или просто скопируйте все ваши файлы places.sqlite на флешку и запустите первую команду на своем pi или Linux с живой загрузкой через USB. (Найдите один на дистрибутиве)
Если вы хотите отсортировать или подсчитать его, вы можете изменить SQL-запрос... или вы можете просто добавить следующее в конце приведенной выше командной строки:
Подсчет: |wc -l
По дате: |sort -n
По посещаемости: |cut -d\| -f2|sort|uniq -c|sort -n
Найти любой текст или подстроку: |grep "youtube"
(точнее "http://youtube.com/"
или он будет соответствовать любому URL-адресу, содержащему "youtube"
)
Исключить текст: |grep -v "http://youtube"
Учет посещений Youtube: |grep "http://youtube.com/"|wc -l
Вы можете связать их вместе. |
называется каналом. Добро пожаловать в Unix :-D
Если вы хотите открыть все отфильтрованные URL-адреса, добавьте |xargs firefox
Они будут работать нормально, пока список URL-адресов помещается в ОЗУ... если нет, вам нужно будет отредактировать запрос sqlite, чтобы сделать то же самое.