• 1. Linux 技术与程序设计 第一章 Linux概述 1.1 Linux的渊源 1.2 Linux的发行版本 1.3 Linux学习者的乐园 1.4 Linux的特性与生命力 1.5 Linux学习的基本理念 1.6 Linux用户应该掌握的50个常用命令 1.7 编程学习指导
  • 2. 1.1 Linux的渊源 Linux源于Internet,其内核的编写是由芬兰赫尔辛基大学的一名学生Linus Torvalds独立完成的,堪称编程世界里的一大历史壮举。1990年,他在读大学本科计算机专业时,Linus在自己的机器上,利用Tanenbaum教授自行设计的微型Unix操作系统Minix为开发平台,开发了属于他自己的第一个程序。第二年,他完成了令他誉满全球的操作系统Linux的最初内核。第三年,Linus把Linux奉献给自由软件基金会Free Software Foundation(简称FSF)的GNU计划,并公布了全部源代码,使得任何人都可以从网上下载、分析、修改、添加新功能,甚至出售赢利。李纳斯·托沃兹(Linus Torvalds) — Linux之父
  • 3. 不少专业人员认为Linux最安全、最稳定,对硬件系统最不敏感。短短几年的时间,Linux就迅速成长起来了,成为拥有庞大用户、性能稳定、功能完善的操作系统。目前的Linux装机总数已逾千万台,遍布全世界。在当今金钱至上的商业社会,一个自由软件得到如此大众化的关心和关注,毫无疑问这是IT业界的一个奇迹。
  • 4. Linux操作系统软件包既包括完整的Linux操作系统,还包括文本编辑器、高级语言编译器等应用软件。还带有多个窗口管理器的X-Windows图形用户界面,如同用户使用的Windows系列一样,允许用户使用窗口、图标和菜单对系统进行GUI操作。
  • 5. Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个: 二、它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中汲取精华和成功的经验。一、它属于自由软件,用户不用支付任何费用就可以获得它及其源代码,并且可以根据自己的需要对它进行必要的修改、定制和无约束的传播。另一个原因是它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中汲取精华和成功的经验。
  • 6. Linux的开放性也给了我国的操作系统软件开发商一个良好的机会,开发具有自主知识产权的操作系统,打破国外厂商在计算机操作系统上的垄断。我国有多家软件公司致力于开发基于Linux内核的操作系统平台,如中科红旗,并且有产品成功地应用在很多领域。
  • 7. Linux在中国发展时间短,人才积累少,人才的匮乏已成为其产业发展的瓶颈。国内的专业人才远远不如Windows系统下的雄厚,不论是数量还是质量都远远不及。Linux无限的应用前景和企业Linux人才的匮乏形成鲜明对比。据权威预测,国内未来5年Linux人才的需求将突破120万。
  • 8. 1.2 Linux的发行版本 Linux的版本有多种不同的说法,但都是大同小异的。下表所示的是Linux的主要发行版本。各个版本的具体详情请参考其Internet站点。版本名称 Internet站点 基本特点 RedHat http://www.redhat.com/基于rpm的包结构,安装简单,使用方便。Slackware http://slackware.com/基于tgz包结构,功能强大,宜作服务器系统。Debian http://www.debian.org/基于deb的包结构,收集的软件很全。OpenLinux http://www.caldera.com/基于rpm包结构,带有商业软件的演示版本。TurboLinuxhttp://www.turboLinux.com/汉化较完整,有较强的配置管理功能。CosixLinuxhttp://www.cosixLinux.com.cn/具有很多Unix韵味,但糟糕的是硬件驱动很陈旧。HappyLinuxhttp://www.happyLinux.com.cn/联想公司的Linux产品,汉化非常好,安装简单。
  • 9. 关于Linux的发音,世界各地不尽相同。Linux这个单词根据Linus Torvalds本人的发音应该是“哩呐克斯”音标是['li:nэks]重音在“哩”上。网络上有Linus Torvalds本人的一段录音,其内容是“Hello,this is Linus Torvalds and I pronounce Linux as Linux”。
  • 10. Linux的获取主要是通过网上下载或通过光盘的方式购买。若从网上下载Linux,下面是下载Linux的可靠地址:ftp://sunsite.unc.edu/pub/Linux: 各种Linux文件和其他资源。 ftp://ftp.Linux.org/pub/: 一个全面的Linux站点,包括Linux内核、网络工具、文档计划和大部分Linux发布。 ftp://ftp.caldera.com/pub/: Caldera公司关于Linux 发布的主页。 ftp://ftp.debian.org/: Debian公司关于Linux 发布的主页。 ftp://ftp.kernel.org/: 最新Linux内核的主页。 ftp://ftp.cc.gatech.edu/pub/Linux/: sunsite.unc.edu的完全镜像。 ftp://tsx.mit.edu/pub/Linux/: 各种Linux文件和其他资源。 ftp://ftp.pht.com/pub/Linux/: 各种Linux文件。 ftp://ftp.redhat.com/pub/: RedHat公司的主页。
  • 11. 1.3 Linux学习者的乐园http://www.ssc.com/Linux:Linux资源 http://www.caldera.com:Caldera公司的网址 http://www.redhat.com:RedHat公司的网址 http://sunsite.unc.edu/mdw:Linux文档计划的网址 http://www.ssc.com/lg:Linux杂志 http://www.Linux.org:Linux的官方网址 http://www.li.org:Linux国际机构网址 http://www.uk.Linux.org:Linux欧洲网址 http://www.blackdown.org:Linux Java的网址 当用户在学习和应用中遇到问题时,可以到Linux的Web网址和新闻讨论组寻找答案。下面是常用的Linux的Web网址:
  • 12. 下面是常见的Linux新闻讨论组:comp.os.Linux.announce:Linux的发展情况 comp.os.Linux.development.apps:Linux的应用程序 comp.os.Linux.development.system:Linux的操作系统内核 comp.os.Linux.hardware:Linux硬件方面的问题 comp.os.Linux.admin:Linux系统管理方面的问题 comp.os.Linux.misc:Linux的一些特别的问题和回答 comp.os.Linux.setup:Linux安装和启动 comp.os.Linux.answers:关于Linux命令的问题和解答 comp.os.Linux.help:Linux的帮助 comp.os.Linux.networking:关于Linux网络的问题和解答
  • 13. 1.4 Linux的特性与生命力 1.开放性 2.多用户 3.多任务 4.良好的用户界面 5.设备独立性 6.丰富的网络功能 7.可靠的系统安全与稳定性 8.良好的可移植性 9.软件安装的便利性 10.功能强大 11.对硬件要求很低 12.自由定制 Linux操作系统在短短几年之内就得到了迅猛的发展,与其良好的特点密不可分,主要有以下特性:
  • 14. 1.5 Linux学习的基本理念 学习linux应了解一些开源文化,努力使自己成为合格的Linux社员。 1.以学习和使用Linux为荣,以帮助他人学习Linux为己任。 2.坚持访问英文网站,尤其是一些大师的个人主页。 3.了解Unix与Linux的历史和hacker的历史及文化。 4.尽可能多地联系Linux爱好者,了解用户对Linux的看法。 5.经常思索为什么自己喜欢Linux,别人为什么喜欢Linux。 6.阅读各类开源许可协议和商业的用户许可协议。有哪些问题和优势。 7.学会安装以各种方式发行的程序,并尽量同用户系统的惯例一致。
  • 15. 8.尽最大能力把学习娱乐或工作环境移到Linux上来。 9.学会SHELL编程。 10.熟悉X windows的运作方式。熟悉用户的发行版本的安全机制,学会定制它们按用户的需求工作。 11.选择一门或几门语言社区常用的编程语言。 12.选择较小的开源项目并尝试自己编写和再现该项目。 13.用户即使不参与项目的开发,仍然能从代码阅读中获益。 14.学会使用Linux下的调试工具。 15.如果是系统管理员,一定要学会在Linux上部署更强的安全方案。
  • 16. 1.6 linux用户应该掌握的50个常用命令 1.系统安装和登录命令(8个) login、shutdown、halt、reboot、install、mount、exit、last; 2.文件处理命令(10个) file、mkdir、grep、dd、find、mv、ls、diff、cat、ln; 3.系统管理相关命令(10个) df、top、free、quota、at、lp、adduser、groupadd、kill、crontab; 4.网络操作命令(10个) ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、mail、 nslookup; 5.系统安全相关命令(7个) passwd、su、umask、chgrp、chmod、chattr、who; 6.其它命令(5个) tar、unzip、gunzip、mtools、man。
  • 17. 1.7 编程学习指导Linux系统下的编程是令人兴奋的,你可以在Linux环境下编写出高质量的服务器程序、应用程序。还可以亲切地感受到内核的强大与有助,这是何等的惬意呀!让我们在Linux世界中相会吧!这里对如何学好linux编程提出几点指导,以供参考。
  • 18. 1.明确学习目的。 编程是IT业界人士的基本功,也是工作与生活的乐趣。优秀的程序员永远是被争夺的对象。学习编程可以锻炼思维,使我们的逻辑思维更加缜密,不断享受创新的快乐,走在高科技的前沿。要想真正掌握计算机技术,在IT行业里干出一番事业来,具有编程能力是最基本的条件和要求。
  • 19. 2.打好基础。 学习编程要具备一定的基础,概括起来就是:数学基础、逻辑思维能力培养和选择合适的入门语言。在linux的世界里,学习C语言是首选的入门级语言.shell编程也是其乐无穷,效率很高,跨平台的可选择Java 和Java Script 等;对服务器的开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI、CGI 等。
  • 20. 3.注意理解重要概念。 程序设计资料和教材里,能够看到的就是变量、函数、条件语句、循环语句等概念,但真正能编程时,需要深入理解这些概念,把握语法与结构的应用例子,做到举一反三,触类旁通。
  • 21. 4.掌握编程思想。 学习语言或开发工具,语法结构、功能调用是次要的,最主要的是它的思想。例如学习C++就要学习系统的内在机理、线程;学习COM就要知道VTALBE、类、接口,有了思想才能游刃有余。
  • 22. 5.在做中学,多实践多交流。 编程伊始要自己动手设计程序,不拘泥于固定思维方式,遇到问题要多想几种解决方案。多交流和了解别人的思维方式。通过交流不断吸收别人的长处,丰富编程实践,提高水平。
  • 23. 6.养成良好的编程习惯。 编程入门容易,但不断学习是关键。在提高阶段要注意养成良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。
  • 24. 7.上网学编程。 网络无处不在,也成为很多大师们的良师益友。也希望网络学习成为我们的必经之路。在网上可以学到迥异的编程思想、方法、经验和技巧。如网站“现在时编程学园”(http://pshool.yeah.net/)就是很好的学习C、VC、VB、Delphi 等的综合编程网站。
  • 25. 8.加强计算机理论知识的再学习。 学编程符合“理论→实践→再理论→再实践”的认识提高过程。程序人人可编,但你发现编程能力很难再提高时,就要回头来学习一些计算机科学和数学基础理论。学过之后,才能百尺竿头,更进一步。需要再学习的内容包括:数据结构、算法理论、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。
  • 26. 谢谢!!