- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux程序设计环境
Linux程序设计环境第一次作业讲评 徐岚 2010.5.19 讲评范围 作业分析 Linux启动过程详述 抓取网页中的email地址 转换文件名 第二次作业:作业分析 题目: 优秀作业的标准 对各原则的理解准确 给了一个helloworld,说体现了模块性 结合源代码进行分析 没有提供源代码 分析过程清晰且具有说服力 只指出原则,没有给出具体分析 贴十几页的代码,进行两三行的简单分析 能分析不足之处 将自己的代码往每个原则上去生硬的套 结合源代码进行分析 优秀作业-曲直: SPOT法则告诉我们任何知识点在系统内部都应该有一个唯一、明确、权威的表述,因为重复都可能会导致矛盾,产生隐藏的问题。在这个工程中,有时要从一个完整的路径中获得文件名,这个本来算法很简单,就是取从最后一个“/”后的所有内容: 一开始写的时候,比较懒,从没有想到要把它写到一个公共的模块里。但随着项目的进行,这种情况出现的频率变得越来越多。后来发现这种“从路径中取得文件名”的算法要考虑文件名为目录的情形(以“/”作为结尾),情况变得不可控制。于是不得不写了一个专门处理路径的函数,这样调用起来就放心许多: 由于是静态函数,所以也不会产生多少额外开销,但代码的清晰程度却提高了。 优秀作业: 曲直 李锭 李诗雨 等等… 第三次作业:Linux启动过程详述 题目: 描述Linux的启动过程,?包括 Grub/Grub2-kernel-init-inittab-getty-login-sh的整个流程. Linux启动过程(1/2) BIOS读取MBR,从MBR载入grub/grub2 Grub是一个多系统的启动管理器,它能够理解磁盘上的各种文件系统和目录格式。Grub根据配置文件将启动选项显示给用户,接着读入并把控制权交给kernel。 Kernel在进行自我配置以后,将运行进程0。进程0将会配置实时时钟和多进程环境,挂载文件系统,创建页面守护进程和init进程。 init进程是所有进程的起点,它的工作分为sysinit和rc两步。rc.sysinit是一个bash shell的脚本,它主要完成的工作有激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务 Linux启动过程(2/2) 然后,以运行级别为参数,执行/etc/rc.d/rc脚本,主要工作是启动对应运行级别的守护进程。 getty将终端与login进行连接,显示文本登陆界面,实现验证登录用户的过程。如果是正确的,login程序将以用户指定或默认的shell程序替换自身。 shell程序用来解析或执行用户输入的命令 优秀作业标准 能够结合网络上的资源,进行自己的总结 如果引用原文,能够指明出处 (归结为一条,就是态度) 第四次作业:抓取网页中的email地址 题目: 编写Shell脚本, 对于给定的一个URL, 分析该URL的HTML页面, 抓取其中的email地址, 并输出到标准输出. 主要考察正则表达式 标准的email正则表达式(1/2) 包含了一些十分发指的规则…如下: @之前或之后均只能以字母、数字或下划线开头 反例:-name@ , name@. @之前只允许含有特殊字符’-’,’+’,’.’,但是特殊字符不能连续出现 反例:name..a@ @之前或之后不能以特殊字符结尾 反例:name.@ , name@. 标准的email正则表达式(2/2) @之后必须含有字符’.‘ 反例:name@abc @之后只允许含有特殊字符’-’和’.’,但是特殊字符不能连续出现 反例:name@ 作业常见问题(1/6) 问题一: 对[ ]中的特殊字符进行了转义 比较[-\+\.]和[-+.] [\.]代表字符’\‘或者字符’.‘ 作业常见问题(2/6) 问题二: 没有要求@之后必须含有’.’ 例如 [a-zA-Z0-9-._]+@[a-zA-Z0-9-._]+ 导致的问题 -_-@-_- name@- 作业常见问题(3/6) 问题三: 要求必须是单词的开头或结尾 例如 \b[-a-z0-9._]+@[-a-z0-9.]+\.[a-z]{2,4}\b 导致的问题 mailto:name@ 作业常见问题(4/6) 问题四: 将特殊字符与数字、字母混为一谈 例如 [a-zA-Z0-9][a-zA-Z0-9+._-]*@\([a-zA-Z0-9]+.\)*[a-zA-Z]\{2,\}‘ 导致的问题 特殊字符的连续出现 以特殊字符结尾 作业常见问题(5/6) 问题五: 以特殊字符开头或结尾 例如 [0-
文档评论(0)