命令行网页浏览器虽不支持图片影音等多媒体元素,web 功能也受到限制,但由于不依赖于 GUI 可使用的范围更广,同时具有加载速度快,消耗资源少的优势。在终端使用命令行浏览器查看以文本为主的技术文档可以测底避免被广告环绕而影响阅读体验。结合浏览器本身的命令参数和 shell 脚本使用,还可以实现将 HTML 文档转换为纯文本文件保存,自动获取指定的网络信息并生成文档等。
下面简单介绍一下三种最常用的命令行浏览器。
lynx
lynx 浏览器始于 1992 年,可谓是最古老的 web 浏览器。最初是为 Unix-like 平台设计,后逐步跨平台支持 DOS 和 Windows 等。第一次接触 lynx 是在Slackware 中,很多 Linux 教材也常提到它,然后不知不觉就成了自己常用的 CLI 浏览器。
命令语法
lynx [options] [URL]
举两个栗子
直接打开博客园首页
lynx https://www.cnblogs.com
将某 HTML 文档里的内容保存到 txt 文本(这个方法除了转换 txt 还可以解决某些网站登录才让复制和完全禁止复制等问题,不用改浏览器设置和清理源码很方便。)
lynx -dump [URL] > yourfile.txt
最常用的操作
操作 | 按键或命令 |
获取帮助 | --help |
移动到页面中的下一个链接(用高亮度显示) | 下方向键 |
移动到页面上的前一个链接(用高亮度显示) | 上方向键 |
跳转到链接指向的地址 | 回车和右方向键 |
回到上一个页面 | 左方向键 |
向下翻页 | +、Page-Down、Space、Ctrl+f |
向上翻页 | -、Page-Up、b、Ctrl+b |
移动到当前页顶部 | Ctrl+a |
移动到当前页底部 | Ctrl+e |
向下翻两行 | Ctrl+n |
向上翻两行 | Ctrl+p |
向下翻半页 | ) |
向上翻半页 | ( |
下载当前链接 | d |
退出 | q |
更多参数多查看 man 手册和使用 --help
links
links 浏览器的使用方法与 lynx 基本相似,分支很多(比如 elinks),使用方也法大同小异。相对非常简洁的 lynx 多了菜单和对话框功能,体验更接近 GUI 主流的浏览器。在折腾 Gentoo Linux 的时候第一次接触到它,后来又经常在 CentOS 里用到。遗憾的是使用了一段时间后发现在很多平台其对中文网页的支持比较糟糕。
命令语法
links [options] [URL]
基本操作参考 lynx 部分即可。
w3m
w3m 显示中文网页的效果相对前二者要好,它支持表格、框架、SSL 连线、颜色,通常尽量呈现出网页本来的编排。然而由于结合了 Vim 和 Emacs 的快捷键风格,操作起来需要一定的时间来学习和适应。
w3m 快捷键列表
页面操作
操作 | 快捷键 |
向下翻页 | SPC,C-v |
向上翻页 | b,ESC v |
焦点向右 | l,C-f |
焦点向左 | h,C-b |
焦点向下 | j,C-n |
焦点向上 | k,C-p |
向下滚动一行 | J |
向上滚动一行 | K |
到行首 | ^,C-a |
到行尾 | $,C-e |
到下一个单词 | w |
到上一个单词 | W |
右移一屏 | > |
左移一屏 | < |
屏幕右移一列 | . |
屏幕左移一列 | , |
到首行 | g,M-< |
到末行 | G,M-> |
到指定行 | ESC g |
当前行居中 | Z |
当前列居中 | z |
转到下个超链接 | TAB |
到上个超链接 | C-u,ESC TAB |
到第一个超链接 | [ |
到最后一个超链接 | ] |
超链接操作
操作 | 快捷键 |
打开超链接 | Enter |
链接另存为 | a, ESC Enter |
查看链接 url | u |
查看图片 url | i |
查看图片 | I |
图片另存为 | ESC I |
标记字符串为锚点 | : |
查看当前页面的 URL | c |
显示当前页面属性 | = |
查看当前行号 | C-g |
查看历史记录 | C-h |
提交表单 | F |
用外部浏览器打开当前页面 | M |
用外部浏览器打开链接 | ESC M |
标记 ID 串为锚点 | ESC |
文件/流操作
操作 | 快捷键 |
打开 URL | U |
打开文件 | V |
执行外部命令并导入 | @ |
执行外部命令并浏览 | # |
缓存操作
操作 | 快捷键 |
返回 | B |
查看源代码 | v |
选择缓存 | s |
编辑缓存代码 | E |
重画屏幕 | C-l |
刷新 | R |
页面另存为 | S |
源码另存为 | ESC s |
编辑图片 | ESC e |
缓存选择模式
操作 | 快捷键 |
上一缓存 | k, C-p |
下一缓存 | j, C-n |
删除当前缓存 | D |
转至选择的缓存 | Enter |
书签操作
操作 | 快捷键 |
打开书签 | ESC b |
添加当前页到书签 | ESC a |
搜索
操作 | 快捷键 |
向前搜索 | /,C-s |
向后搜索 | ?,C-r |
下一个 | n |
上一个 | N |
打开/关闭 循环搜索 | C-w |
标记
操作 | 快捷键 |
设定/取消 标记 | C-SPC |
转至上一标记 | ESC p |
转至下一标记 | ESC n |
使用正则表达式标记 | " |
杂项
操作 | 快捷键 |
执行外部命令 | ! |
帮助 | H |
设置选项 | o |
显示接受到的 cookie | C-k |
停止 | C-c |
挂起(退出) | C-z |
退出(需确认) | q |
退出而不确认 | Q |
行编辑模式
操作 | 快捷键 |
光标向后 | C-f |
光标向前 | C-b |
删除前一字符 | C-h |
删除当前字符 | C-d |
删除光标后所有内容 | C-k |
删除光标前所有内容 | C-u |
光标到行首 | C-a |
光标到行尾 | C-e |
取得历史记录中的前一个词 | C-p |
取得历史记录中的后一个词 | C-n |
自动完成文件名 | TAB,SPC |
确定 | Enter |