ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 5.4 文字接口网页浏览 什么?文字界面竟然有浏览器!别逗了好不好?呵呵!谁有那个时间在逗你呦!真的啦!有这个东西, 是在文字界面下上网浏览的好工具!分别是 links 及 wget 这两个宝贝蛋,但是,你必需要确定你已经安装了这两个套件才行。 好佳在的是,CentOS 预设这两个玩意儿都有安装喔!底下就让我们来聊一聊这两个好用的家伙吧! * * * ### 5.4.1 文字浏览器:links 其实早期鸟哥最常使用的是 lynx 这个文字浏览器,不过 CentOS 从 5.x 以后默认使用的文字浏览器是 links 这一支,这两支的使用方式又非常的类似,因此,在这一版当中,我们就仅介绍 links 啰!若对 lynx 有兴趣的话, 自己 man 一下吧! 这个指令可以让我们来浏览网页,但鸟哥认为,这个档案最大的功能是在『 查阅 Linux 本机上面以 HTML 语法写成的文件数据 (document)』 怎么说呢?如果你曾经到 Linux 本机底下的 /usr/share/doc 这个目录看过文件数据的话, 就会常常发现一些网页档案,使用 vi 去查阅时,老是看到一堆 HTML 的语法!有碍阅读啊~ 这时候使用 links 就是个好方法啦!可以看的清清楚楚啊! ^_^ ``` [root@www ~]# links [options] [URL] 选项与参数: -anonymous [0|1]:是否使用匿名登录的意思; -dump [0|1] :是否将网页的数据直接输出到 standard out 而非 links 软件功能 -dump_charset :后面接想要透过 dump 输出到屏幕的语系编码,big5 使用 cp950 喔 # 范例一:浏览 Linux kernel 网站 [root@www ~]# links http://www.kernel.org ``` 当我直接输入 links 网站网址后,就会出现如下的图示: ![](https://box.kancloud.cn/2016-05-13_5735da4e12cb6.gif) 图 5.4-1、使用 links 查询网页数据的显示结果 上面这个画面的基本说明如下: * 进入画面之后,由于是文字型态,所以编排可能会有点位移!不过不打紧!不会影响我们看咚咚! * 这个时候可以使用『上下键』来让光标在上面的选项当中(如信箱、书签等等的),按下 Enter 就进入该页面 * 可以使用『左右键』来移动『上一页或下一页』 * 一些常见功能按键: * h:history ,曾经浏览过的 URL 就显示到画面中 * g:Goto URL,按 g 后输入网页地址(URL) 如 :http://www.abc.edu/等 * d:download,将该链接数据下载到本机成为档案; * q:Quit,离开 links 这个软件; * o:Option,进入功能参数的设定值修改中,最终可写入 ~/.elinks/elinks.conf 中 * Ctrl+C :强迫切断 links 的执行。 * 箭头键: * 上 :移动光标至本页中 "上一个可连结点" . * 下 :移动光标至本页中 "下一个可连结点" . * 左 :back. 跳回上一页. * 右 :进入反白光标所链接之网页. * ENTER 同鼠标 "右" 键. 至于如果是浏览 Linux 本机上面的网页档案,那就可以使用如下的方式: ``` [root@www ~]# links /usr/share/doc/HTML/index.html ``` 在鸟哥的 CentOS 6.x 当中,有这么一个档案,我就可以利用 links 来取出察看吶!显示的结果有点像底下这样: ![](https://box.kancloud.cn/2016-05-13_5735da4e283cc.gif) 图 5.4-2、使用 links 查询本机的 HTML 文件档案 当然啦!因为你的环境可能是在 Linux 本机的 tty1~tty6 ,所以无法显示出中文,这个时候你就得要设定为: 『LANG=en_US』之类的语系设定才行喔!另外,如果某些时刻你必须上网点选某个网站以自动取得更新时。 举例来说,早期的自动在线更新主机名系统,仅支持网页更新,那你如何进行更新呢?嘿嘿!可以使用 links 喔!利用 -dump 这个参数处理先: ``` # 透过 links 将 tw.yahoo.com 的网页内容整个抓下来储存 [root@www ~]# links -dump http://tw.yahoo.com > yahoo.html # 某个网站透过 GET 功能可以上传账号为 user 密码为 pw ,用文字接口处理为: [root@www ~]# links -dump \ > http://some.site.name/web.php?name=user&password=pw > testfile ``` 上面的网站后面有加个问号 (?) 对吧?后面接的则是利用网页的『 GET 』功能取得的各项变量数据, 利用这个功能,我们就可以直接点选到该网站上啰!非常的方便吧!而且会将执行的结果输出到 testfile 档案中,不过如果网站提供的数据是以『 POST 』为主的话,那鸟哥就不知道如何搞定了。 GET 与 POST 是 WWW 通讯协议中,用来将数据透过浏览器上传到服务器端的一种方式, 一般来说,目前讨论区或部落格等,大多使用可以支持较多数据的 POST 方式上传啦! 关于 GET 与 POST 的相关信息我们会在第二十章 WWW 服务器当中再次的提及! * * * ### 5.4.2 文字接口下载器: wget 如果说 links 是在进行网页的『浏览』,那么 wget 就是在进行『网页数据的取得』。举例来说,我们的 Linux 核心是放置在 www.kernel.org 内,主要同时提供 ftp 与 http 来下载。我们知道可以使用 lftp 来下载数据,但如果想要用浏览器来下载呢?那就利用 wget 吧! ``` [root@www ~]# wget [option] [网址] 选项与参数: 若想要联机的网站有提供账号与密码的保护时,可以利用这两个参数来输入喔! --http-user=usrname --http-password=password --quiet :不要显示 wget 在抓取数据时候的显示讯息 更多的参数请自行参考 man wget 吧! ^_^ # 范例一:请下载 2.6.39 版的核心 [root@www ~]# wget \ > http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.bz2 --2011-07-18 16:58:26-- http://www.kernel.org/pub/linux/kernel/v2.6/.. Resolving www.kernel.org... 130.239.17.5, 149.20.4.69, 149.20.20.133, ... Connecting to www.kernel.org|130.239.17.5|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 76096559 (73M) [application/x-bzip2] Saving to: `linux-2.6.39.tar.bz2' 88% [================================> ] 67,520,536 1.85M/s eta 7s ``` 你瞧瞧~很可爱吧!不必透过浏览器,只要知道网址后,立即可以进行档案的下载, 又快速又方便,还可以透过 proxy 的帮助来下载呢!透过修改 /etc/wgetrc 来设定你的代理服务器: ``` [root@www ~]# vim /etc/wgetrc #http_proxy = http://proxy.yoyodyne.com:18023/ <==找到底下这几行,大约在 78 行 #ftp_proxy = http://proxy.yoyodyne.com:18023/ #use_proxy = on # 将他改成类似底下的模样,记得,你必须要有可接受的 proxy 主机才行! http_proxy = http://proxy.ksu.edu.tw:3128/ use_proxy = on ``` * * *