第一部分:Linux命令行
《Linux命令行与shell脚本编程大全》 第一章:初识Linux shell
《Linux命令行与shell脚本编程大全》 第二章:走进shell
《Linux命令行与shell脚本编程大全》 第三章:基本的bash shell命令
《Linux命令行与shell脚本编程大全》 第四章:更多的bash shell命令
《Linux命令行与shell脚本编程大全》 第五章:使用Linux环境变量
《Linux命令行与shell脚本编程大全》 第六章:理解Linux文件权限
《Linux命令行与shell脚本编程大全》 第七章:管理文件系统
《Linux命令行与shell脚本编程大全》 第八章:安装软件程序
《Linux命令行与shell脚本编程大全》 第九章:使用编辑器
第二部分:shell脚本编程基础
《Linux命令行与shell脚本编程大全》 第十章:构建基本脚本
《Linux命令行与shell脚本编程大全》 第十一章:使用结构化命令
《Linux命令行与shell脚本编程大全》 第十二章:更多的结构化命令
《Linux命令行与shell脚本编程大全》 第十三章:处理用户输入
《Linux命令行与shell脚本编程大全》 第十四章:呈现数据
《Linux命令行与shell脚本编程大全》 第十五章:控制脚本
第三部分:高级shell编程
《Linux命令行与shell脚本编程大全》 第十六章:创建函数
《Linux命令行与shell脚本编程大全》 第十七章:图形化桌面上的脚本编程
《Linux命令行与shell脚本编程大全》 第十八章:初识sed和gawk
《Linux命令行与shell脚本编程大全》 第十九章:正则表达式
《Linux命令行与shell脚本编程大全》 第二十章:sed进阶
《Linux命令行与shell脚本编程大全》 第二十一章:gawk进阶
《Linux命令行与shell脚本编程大全》 第二十二章:使用其他shell
第四部分:高级shell脚本编程主题
《Linux命令行与shell脚本编程大全》 第二十三章:使用数据库
《Linux命令行与shell脚本编程大全》 第二十四章:使用Web
《Linux命令行与shell脚本编程大全》 第二十五章:使用E-mail
《Linux命令行与shell脚本编程大全》 第二十六章:编写脚本实用工具
《Linux命令行与shell脚本编程大全》 第二十七章:shell脚本编程进阶
第二十四章:使用Web
Lynx程序
Lynx支持三种不同的查看Web页面真实HTML内容的格式:
1.在终端会话中采用curses图形库的文本图形显示
2.文本文件,从web页面中转储的原始数据
3.文本文件,从web页面中转储的原始HTML源码
Lynx命令 基本格式:
lynx options URL
lynx命令行参数
参数 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- | 接受来自STDIN的选项和参数 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-accept_all_cookies | 使能Set-Cookie处理的会话,接受cookie但不提示。默认为off | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-anonymous | 对匿名账户实行限制 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-assume_charset=name | 未指定字符集的文档的默认字符集 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-assume_local_charset=name | 本地文件的默认字符集 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-assume_unrec_charset=name | 有不能识别的字符集时采用的默认字符集 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-suth=id:pw | 访问受保护文档的认证信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-base | 在-source的文本/html输出前加一条请求URL注释和BASE标签 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-bibhost=URL | 本地bibp服务器URL(默认为http://bibhost/) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-book | 将标签页做为起始页,默认为off | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-buried_news | 开启对埋藏的引用扫描新闻文章。默认为on | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cache=n | 内存中缓存的文档总数 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-case | 开启用户搜索的大小写区分。默认为off | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-center | 开启HTML
Lynx配置文件 Lynx的配置文件名为:lynx.cfg。 可能出现的位置为:/etc/lynx.cfg或者/etc/lynx-cur/lynx.cfg(ubuntu10.10上是在后面的这个位置) 配置文件的格式为: param:value Lynx环境变量
在使用Lynx之前设置这些环境变量。 要指定代理服务器,必须提供协议、服务器名称和端口。 从Lynx中抓取数据 以google为例: $ lynx -dump http://www.google.com.hk/ jM [1]a [2]Play [3]YouTube [4]sD [5]Gmail [6]w [7]h » | [8]]w | [9]nJ Google _______________________________________________________ Google jM n [10]ijM [11]yu Google.com.hk G [12](简^) [13]English [14]siA [15]Google U [16]Google.com © 2013 - [17]pvP References Visible links 1. http://maps.google.com.hk/maps?hl=zh-TW&tab=wl 2. https://play.google.com/?hl=zh-TW&tab=w8 3. http://www.youtube.com/?gl=HK&tab=w1 4. http://news.google.com.hk/nwshp?hl=zh-TW&tab=wn 5. https://mail.google.com/mail/?tab=wm 6. https://drive.google.com/?tab=wo 7. http://www.google.com.hk/intl/zh-TW/options/ 8. http://www.google.com.hk/preferences?hl=zh-TW 9. https://accounts.google.com/ServiceLogin?hl=zh-TW&continue=http://www.google.com.hk/ 10. http://www.google.com.hk/advanced_search?hl=zh-HK&authuser=0 11. http://www.google.com.hk/language_tools?hl=zh-HK&authuser=0 12. http://www.google.com.hk/setprefs?sig=0_cVuJopwZwn3goB0OvKduA-xlv7c%3D&hl=zh-CN&source=homepage 13. http://www.google.com.hk/setprefs?sig=0_cVuJopwZwn3goB0OvKduA-xlv7c%3D&hl=en&source=homepage 14. http://www.google.com.hk/intl/zh-TW/ads/ 15. http://www.google.com.hk/intl/zh-TW/about.html 16. http://www.google.com.hk/setprefdomain?prefdom=US&sig=0_5sgxO9sXV89IxNH_HcORGCG193g%3D 17. http://www.google.com.hk/intl/zh-TW/policies/ Hidden links: 18. http://www.google.com.hk/imghp?hl=zh-TW&tab=wi 19. http://www.google.com.hk/history/optout?hl=zh-TW 每一个链接都有一个编号,在最后,显示了这些编号的链接地址。
cURL程序 curl默认把web页面完整的HTML代码返回到STDOUT中 curl http://www.google.com.hk/ -s:安静模式 -o:指定输出到文件
使用zsh处理网络 TCP模块 加载TC模块之后即可使用ztcp命令 zmodload zsh/net/tcp ztcp命令格式: ztcp [-acflLtv] [-d fd] [args] -a:接受一个新链接 -c:关闭一个已有链接 -d:对链接使用指定的文件描述符 -f:强制关闭链接 -l:打开新的监听套接字 -L:列出当前已连接的套接字 -t:如果没有连接在等待,退出 -v:显示连接的详细信息 ztcp命令使用文件描述符来和一个打开的TCP连接交互。默认情况下,zsh使用环境变量REPLY来引用该文件描述符 客户端/服务器模式 使用zsh进行C/S编程 下面给出一个最基本的客户端服务端交互的例子: 先看服务端代码 #!/bin/zsh zmodload zsh/net/tcp ztcp -l 8765 #打开新的监听套接字 fd=$REPLY echo "waiting for a client" ztcp -a $fd #接受一个新链接 clientfd=$REPLY echo "client connected" echo "Welcome!" >& $clientfd while [ 1 ]; do read line <& $clientfd if [[ $line = "exit" ]]; then break; else echo "received: $line" echo "feedback:" $line >& $clientfd fi done echo "disconnected" ztcp -c $fd #关闭一个已有链接 ztcp -c $clientfd #关闭一个已有链接 ztcp -a会阻塞线程,直到有连接请求进来 下面是客户端代码 #!/bin/zsh zmodload zsh/net/tcp ztcp localhost 8765 hostfd=$REPLY read line <& $hostfd echo "$line" while [ 1 ]; do echo -n "enter text:" read phrase echo "send $phrase to remote host" echo $phrase >& $hostfd if [[ $phrase = "exit" ]]; then break fi read line <& $hostfd echo "received: $line" done ztcp -c $hostfd 如果客户端已经连接,再强制终止服务端,那么重新开启服务端的时候会报错: $ zsh_server ./zsh_server:ztcp:3: could not bind to port 8765: address already in use 我们只需要执行一下下面命令即可: ztcp -t 然后再重新开启服务端
转贴请保留以下链接 本人blog地址 http://su1216.iteye.com/ http://blog.csdn.net/su1216/ |