命令行网页浏览器虽不支持图片影音等多媒体元素,web功能也受到限制,但由于不依赖于GUI可使用的范围更广,同时具有加载速度快,消耗资源少的优势。在终端使用命令行浏览器查看以文本为主的技术文档可以测底避免被广告环绕而影响阅读体验。结合浏览器本身的命令参数和shell脚本使用,还可以实现将HTML文档转换为纯文本文件保存,自动获取指定的网络信息并生成文档等。
下面简单介绍一下三种最常用的命令行浏览器。
lynx
lynx浏览器始于1992年,可谓是最古老的web浏览器。最初是为Unix-like平台设计,后逐步跨平台支持DOS和Windows等。第一次接触lynx是在Slackware中,很多Linux教材也常提到它,然后不知不觉就成了自己常用的CLI浏览器。
命令语法
1
lynx [options] [URL]
举两个栗子
直接打开博客园首页
1
lynx https://www.cnblogs.com
将某HTML文档里的内容保存到txt文本(这个方法除了转换txt还可以解决某些网站登录才让复制和完全禁止复制等问题,不用改浏览器设置和清理源码很方便。)
1
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里用到。遗憾的是使用了一段时间后发现在很多平台其对中文网页的支持比较糟糕。
命令语法
1
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