Linux基础知识讲座互联天下科技发展(深圳)有限公司主讲:吴创豪索引Linux简介主流的Linux发行版Linux下的文件系统Linux下的常用命令Linux下的常用软件Linux下软件的安装方法Linux下的编程Linux简介简单地说,Linux是一套免费使用和自由传播的类Unix操作系统。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约、全世界都能自由使用的Unix兼容产品。Linux的出现最早开始于一位名叫LinusTorvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫AndrewTannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能,因而开始了Linux雏形的设计。GNU计划GNU计划,又称革奴计划,是由RichardStallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。RichardStallman最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。GNU是“GNU'sNotUnix”的递归缩写。GPLGPL,是GeneralPublicLicense的缩写,是一份GNU通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使用GNU通用公共授权的软件的法定发布条款─只有GNU通用公共授权英文原文的版本始具有此等效力。主流的Linux发行版主流的Linux发行版Asianux,ArchLinux,B2DLinux,ConectivaLinux,DebianGNU/Linux,FedoraCore,GentooLinux,KnoppixLinux,LinuxFromScratch,MagicLinux,MandrivaLinux,RedHatLinux,SlackwareLinux,StanixLiveCD,SUSELinux,TurboLinux,UbuntuLinux,CentOS,IPCop,NUtyx,DEFT,NETbsd,turbolinux中国大陆的Linux发行版红旗Linux(RedflagLinux),QomoLinux,冲浪Linux(XteamLinux),蓝点Linux,新华Linux,共创Linux,百资Linux,veket,lucky8k-veket.OpenDesktop,HiweedGNU/Linux,MagicLinux,EngineeringComputingGNU/Linux,kylin,中标普华Linux,中软Linux,新华华镭Linux(RaysLX),CDLinux,MCLinux,即时Linux(Thizlinux),b2dlinux,IBOX,MCLOS,FANX,Everest,酷博linux,新氧Linux,Hiweed,DeepinLinux,需要说明的是,新氧、Hiweed、Deepin都是基于ubuntu,并且DeepinLinux是Hiweed与深度合并后的版本,原来的Hiweed已经停止更新,新氧也停止更新了。RedhatRedHat是全球最大的开源技术厂家,其产品RedHatLinux也是全世界应用最广泛的Linux。RedHat公司总部位于美国北卡罗来纳州。在全球拥有22个分部。对于RedHat来说,开放源代码已经不只是一个软件模型,这正是RedHat的商业模式。因为RedHat坚信只有协作,企业才能创造出非凡质量和价值的产品。在RedHat的300名工程师中,有6名来自于全世界最顶尖的10名Linux核心开发者,7名来自全球最出色10名Linux开发工具工程师。全世界,也许只有RedHat能够把Linux和开源技术以及企业级的培训、技术支持和咨询融合得如此美妙。RedHat的培训及认证被认为是Linux认证的标准。Certification杂志的最新调查显示,RHCE(RedHat认证工程师)认证被公认为总体质量最高的国际IT认证。Redhat的版本历史1994年11月,RedhatLinux1.02002年5月,RedHatEnterpriseEdition2.1AS2010年12月,RedHatEnterpriseEdition6.0AS2003年3月,RedhatLinux9.02004年终止支持最新版本FedoraFedoraCore(自第七版直接更名为Fedora)是众多Linux发行套件之一。它是一套从RedHatLinux发展出来的免费Linux系统。现时Fedora最新的版本是Fedora14,Fedora是linux发行版中更新最快的之一,通常每6个月发布一个正式的新版本。Fedora和Redhat这两个Linux的发行版联系很密切。Redhat自9.0以后,不再发布桌面版的,而是把这个项目与开源社区合作,于是就有了Fedora这个Linux发行版。Fedora可以说是Redhat桌面版本的延续,只不过是与开源社区合作。FedoraCore的前身就是RedHatLinux。2003年9月,红帽公司(RedHat)突然宣布不再推出个人使用的发行套件而专心发展商业版本(RedHatEnterpriseLinux)的桌面套件,但是红帽公司也同时宣布将原有的RedHatLinux开发计划和Fedora计划整合成一个新的FedoraProject。FedoraProject将会由红帽公司赞助,以RedHatLinux9为范本加以改进,原本的开发团队将会继续参与Fedora的开发计划,同时也鼓励开放原始码社群参与开发工作。Fedora的版本历史2003年11月,FedoraCore12007年6月,Fedora72010年11月,Fedora142006年10月,FedoraCore6开始改名,统一版本最新版本CentOSCentOS(CommunityENTerpriseOperatingSystem)是Linux发行版之一,它是来自于RedHatEnterpriseLinux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的RedHatEnterpriseLinux使用。两者的不同,在于CentOS并不包含封闭源代码软件。CentOS的发行版本号与Redhat一致,历史与Redhat相近,相差几个月。ubuntuUbuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词(译为吾帮托或乌班图),意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu基于Debian发行版和GNOME桌面环境,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。Ubuntu的发行历史4.102004年10月20日WartyWarthog5.042005年4月8日HoaryHedgehog5.102005年10月13日BreezyBadger6.06LTS(长期支持版)2006年6月1日DapperDrake6.102006年10月26日EdgyEft7.042007年4月19日FeistyFawn7.102007年10月18日GutsyGibbon8.04LTS(长期支持版)2008年4月24发布HardyHeron8.102008年10月30日发布IntrepidIbex9.042009年4月23日发布JauntyJackalope9.102009年10月29日发布KarmicKoala10.04LTS(长期支持版)2010年4月29日发布LucidLynx10.102010年10月10日发布MaverickMeerkat11.04即将在2011年4月发布NattyNarwhalDebianDebianGNU/Linux是由一个叫做伊恩·默多克(IanMurdock)的牛人在1993年发起的,他的名字以Ian开头,他太太的名字Debra开头三个字母是Deb,于是在爱情的力量下,他发起了DebianGNU/Linux组织。openSUSEopenSUSE项目是由Novell发起的开源社区计划。旨在推进Linux的广泛使用。openSUSE.org提供了自由简单的方法来获得世界上最好用的Linux发行版,SUSELinux。openSUSE项目为Linux开发者和爱好者提供了开始使用Linux所需要的一切。红旗Linux红旗Linux是由北京中科红旗软件技术有限公司开发的一系列Linux发行版,包括桌面版、工作站版、数据中心服务器版、HA集群版和红旗嵌入式Linux等产品。目前在中国各软件专卖店可以购买到光盘版,同时官方网站也提供光盘镜像免费下载。红旗Linux是中国较大、较成熟的Linux发行版之一。Linux下的文件系统在Linux下没有盘符的概念,不管是什么存储盘,在它里面都是一样对待的,系统里只有从根目录往下一层层的目录,一个盘可以多个目录,一个目录也可能会跨多个盘。Ext2:Ext2是GNU/Linux系统中标准的文件系统。这是Linux中使用最多的一种文件系统,它是专门为Linux设计的,拥有极快的速度和极小的CPU占用率。Ext2既可以用于标准的块设备(如硬盘),也被应用在软盘等移动存储设备上。Ext3:Ext3是Ext2的下一代,也就是保有Ext2的格式之下再加上日志功能。Ext3是一种日志式文件系统(JournalFileSystem),最大的特点是:它会将整个磁盘的写入动作完整的记录在磁盘的某个区域上,以便有需要时回溯追踪。当在某个过程中断时,系统可以根据这些记录直接回溯并重整被中断的部分,重整速度相当快。该分区格式被广泛应用在Linux系统中。Ext4:ext4是ext3文件系统的后继版本。ext4原始的开发目标是一系列的向下兼容ext3、移除其64位限制与提升其效能的延伸包。然而,某些Linux开发者因稳定性原因而拒绝将这些延伸包应用在ext3上,并要求其作为ext3的分支,改名为ext4并另行开发,以免影响到目前的ext3用户。该要求被接受以后,ext3维护者TheodoreTs'o在2006年6月28日公开了ext4的开发计划。Linux下的文件系统Linuxswap:它是Linux中一种专门用于交换分区的swap文件系统。Linux是使用这一整个分区作为交换空间。一般这个swap格式的交换分区是主内存的2倍。在内存不够时,Linux会将部分数据写到交换分区上。VFAT:VFAT叫长文件名系统,这是一个与Windows系统兼容的Linux文件系统,支持长文件名,可以作为Windows与Linux交换文件的分区。LVM是LogicalVolumeManager(逻辑卷管理器)的简称,它可以使管理员在Linux系统上更加灵活的规划和使用磁盘空间。对于传统的分区类型,其尺寸是固定的,不能够动态扩展。因此在使用之前,管理员需要提前规划分区的用途和需要的尺寸。一旦某个分区的尺寸不能满足需求了,管理员将不得不重新分区,或者将包含足够空间的新磁盘分区挂载到原有文件系统上。使用LVM处理这样的问题将获得更大的灵活性。在LVM中,分区对应物理磁盘上一系列连续数据块的概念已经演变了。现在通过LVM可以将物理磁盘的空间分解为很多单元,然后将多个物理磁盘的存储单元汇聚为一个可供用户使用的逻辑单元。用户不再直接使用物理磁盘,而是一个经过逻辑划分的虚拟磁盘。逻辑单元的空间可以来自于多个物理磁盘,同时管理员也可以通过扩展逻辑单元动态增加可用的磁