Существует ли способ получить такой URL с помощью своего рода команд?
Существует немного файлов, кто содержит информацию о Ваших сессиях:
~/.mozilla/firefox/*.default/sessionstore-backups/recovery.js
который содержит информацию о текущей сессии, также содержит информацию для закрытых вкладок и предыдущей сессии. Firefox каждых 15 секунд создает резервное копирование в этом файле. Этот файл не доступен, когда Firefox закрывается.
~/.mozilla/firefox/*.default/sessionstore.js
который содержит информацию о последней сессии, когда браузер Firefox закрывается. Этот файл не доступен, когда Firefox открыт.
~/.mozilla/firefox/*.default/sessionstore-backups/previous.js
который содержит информацию о предыдущей сессии.
Анализ содержания recovery.js
шоу, что для каждой вкладки только записи текущего URL содержат строку attributes
.
1. A. Если Вы хотите получить все URL открытых вкладок от текущей сессии, можно использовать эту команду:
cat $HOME/.mozilla/firefox/*.default/sessionstore-backups/recovery.js | \
sed "s/\\_closedTabs.*//" | \
sed "s/{/\n{/g" | \
egrep -o 'url.*attributes' | \
cut -d\" -f3
* Обратите внимание на то, что, Вы должны copy
/paste
все строки вместе в окно терминала и нажимают Enter.
Где:
cat $HOME/.mozilla/firefox/*.default/sessionstore-backups/recovery.js
распечатает содержание этого файла;sed "s/\\_closedTabs.*//"
удалит все после строки _closedTabs
;sed "s/{/\n{/g" | \
поместит новую строку перед каждым {
;egrep -o 'url.*attributes'
отфильтрует только те части строк, кто начинает url
и конец с attributes
. Без -o
опция, все строки, кто содержит строку, будет фильтрована;cut -d\" -f3
будет использовать "
как разделитель и отфильтрует только 3th столбец. В моем случае вывод команды:
https://askubuntu.com/
https://www.mozilla.org/en-US/
1. B. Если Вы хотите получить данные для тока, и для предыдущей сессии сразу Вы могли использовать это:
printf "\n# CurrentSession:\n"; \
cat $HOME/.mozilla/firefox/*.default/sessionstore-backups/recovery.js | \
sed "s/\\_closedTabs/\{\"url\":\"# ClosedTabs:\"attributes/g" | \
sed "s/\\lastSessionState/\{\"url\":\"# LastSession:\"attributes/" | \
sed "s/{/\n{/g" | \
egrep -o 'url":"*.*attributes*' | \
cut -d\" -f3 | \
sed "s/#/\n#/" \
; echo
Где:
printf "\n# CurrentSession:\n";
распечатает # CurrentSession:
между двумя новыми строками;sed "s/\\_closedTabs/\{\"url\":\"# ClosedTabs:\"attributes/g"
заменит строку _closedTabs
с "url":"# ClosedTabs:"attributes
во всем "файле" (опция g
);sed "s/\\lastSessionState/\{\"url\":\"# LastSession:\"attributes/"
заменит lastSessionState
с "url":"# LastSession:"attributes
;sed "s/#/\n#/"
поместит новую строку перед каждым #
.; echo
добавит пустая строка внизу.В моем случае вывод команды:
# CurrentSession:
https://askubuntu.com/
https://www.mozilla.org/en-US/
# ClosedTabs:
https://www.yahoo.com/
# LastSession:
https://askubuntu.com/
https://www.abv.bg/
# ClosedTabs:
https://www.google.com/gmail/about/
https://www.yahoo.com/
2. A. Если Вы хотите добраться и история, Вы могли бы использовать:
cat $HOME/.mozilla/firefox/*.default/sessionstore-backups/recovery.js | sed "s/\\_closedTabs.*//" | sed "s/{/\n{/g" | egrep 'url":"http*' | cut -d\" -f4
В моем случае вывод команды:
https://askubuntu.com/
https://www.google.bg/search?client=ubuntu&channel=fs&q=firefox&ie=utf-8&oe=utf-8&gfe_rd=cr&ei=pTKyWIitGqTs8wewj4KgDQ
https://www.mozilla.org/bg/firefox/new/
https://www.mozilla.org/en-US/
2. B. Можно поместить разделитель между данными для каждой вкладки:
cat $HOME/.mozilla/firefox/*.default/sessionstore-backups/recovery.js | \
sed "s/\\_closedTabs.*//" | \
sed "s/{/\n{/g" | \
sed "s/entries/url\":\"# TAB:/g" | \
egrep 'url":"*' | \
cut -d\" -f4 | \
sed "s/#/\n#/"
В моем случае вывод команды:
# TAB:
about:startpage
https://askubuntu.com/
# TAB:
https://www.google.bg/search?client=ubuntu&channel=fs&q=firefox&ie=utf-8&oe=utf-8&gfe_rd=cr&ei=pTKyWIitGqTs8wewj4KgDQ
https://www.mozilla.org/bg/firefox/new/
https://www.mozilla.org/en-US/
3. 2. 1. B. и 2. B. вместе:
printf "\n# CurrentSession:\n"; \
cat $HOME/.mozilla/firefox/*.default/sessionstore-backups/recovery.js | \
sed "s/\\_closedTabs/\{\"url\":\"# ClosedTabs:/g" | \
sed "s/\\lastSessionState/\{\"url\":\"# LastSession:/" | \
sed "s/entries/url\":\"# TAB:/g" | \
sed "s/{/\n{/g" | \
egrep 'url":"*' | \
cut -d\" -f4 | \
sed "s/#/\n#/" \
; echo
В моем случае вывод команды:
# CurrentSession:
# TAB:
https://host.bg/
https://admin.host.bg/
# TAB:
https://www.mediawiki.org/wiki/MediaWiki
# TAB:
https://en.wikipedia.org/wiki/Main_Page
# ClosedTabs:
# TAB:
about:startpage
https://www.yahoo.com/
# LastSession:
# TAB:
about:startpage
https://askubuntu.com/
# ClosedTabs:
# TAB:
https://www.mozilla.org/en-US/
https://www.google.com/gmail/about/
Когда Firefox закрывается, можно получить данные для последней сессии. Подход совпадает с объясненный выше, но вместо recovery.js
необходимо использовать sessionstore.js
(или previous.js
):
cat $HOME/.mozilla/firefox/*.default/sessionstore.js \
...
Перетаскивают/Отбрасывают
, Перетаскивают его и отбрасывают его. Перетащите его от значка слева от поля адреса. В большинстве браузеров можно видеть меня для значка.
Скопировать/вставить
можно также использовать копию и вставку. Скопируйте текст с поля адреса. Вставьте его в терминал.
Принятый ответ не работает теперь, Firefox удалил тот файл.
Таким образом, вот мое решение (решения) его:
Метод 1: используйте средства автоматизации клавиатуры, такие как xdotool, для регистрации ключей для копирования URL в буфер обмена.
Этот метод имеет некоторые недостатки, то есть, он изменит текущий фокус курсора (необходимо переместиться в строку поиска с помощью Ctrl-L сначала),
Метод 2: используйте Обезьяну Смазки, свяжите ключевой F12 с GM_setClipboard (document.location); используйте средства автоматизации клавиатуры, отправьте ключевой F12 в Firefox; наблюдайте буфер обмена, сохраните его (возможно, даже копируют и восстанавливают буфер обмена).