一、什么是Linux?
Linux,一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GNU【GNU是一个操作系统】套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX(可移植操作系统接口)的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
GNU[nuː]:GNU是一个操作系统,其内容软件完全以GPL(GNU通用公共许可证简称为GPL)方式发布。这个操作系统是GNU计划的主要目标,名称来自GNU's Not Unix!的递归缩写,因为GNU的设计类似Unix,但它不包含具著作权的Unix代码。GNU的创始人,理查德·马修·斯托曼。GNU计划:又译为“革奴计划”,是由理查德·斯托曼在1983年9月27日公开发起的自由软件集体协作计划。它的目标是创建一套完全自由的操作系统GNU。自由软件基金会(Free Software Foundation,FSF):是一个致力于推广自由软件、促进计算机用户自由的美国民间非盈利性组织。它于1985年10月由理查德·斯托曼建立。其主要工作是执行GNU计划,开发更多的自由软件,完善自由软件理念。
POSIX(可移植操作系统接口):可移植操作系统接口(英语:Portable Operating System Interface,缩写为POSIX)是IEEE(美国电气与电子工程师协会)为要在各种UNIX操作系统上运行软件。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux是自由的,免费和开放源码的基于POSIX和Unix的服务器操作系统,因为其开源性目前市面上许多不同的Linux发行版本。例如红旗,Kali、CentOS、基于社区开发的Debian(Debian GNU/Linux)、Arch linux,和基于商业开发的Red Hat Enterprise Linux、SUSE Linux、Oracle Linux等。

但它们都是基于Linux内核而开发出来的发行版操作系统。经过长期的发展和移植Linux可安装在几乎任何计算机硬件设备中,比如智能手机、平板电脑、路由器、防火墙,视频游戏控制器、台式计算机、大型机和超级计算机而且Linux是非常先进的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。几乎和可以这么说,从最小的嵌入式设备到最大的超级计算机到处都有Linux系统的影子。也许你以前直接用过Linux操作系统,但你浏览过的网页所使用的服务器基本都是Linux系统的。他们作为服务器默默的后台为你提供各种各样你需要的知识和网页。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了Linux来形容整个基于Linux内核,并且使用GUN工程各种工具和数据库的的操作系统。
在日常工作中大家都已经习惯用Linux来代表所有基于Linux内核的各种发行版操作系统。因为只要是基于Linux内核,并且使用GUN工程各种工具和数据库的的操作系统,在管理和操作上都基本一致,只要熟悉一种GUN/Linux操作系统的人员在使用其他发行版的GUN/Linux系统时能很快理解并上手。
二、Linux的实际应用
(1)Linux是干什么的?
Linux具有开源代码、无版权、技术社区用户多的特点。开源代码使用户可以自由裁剪,灵活性高,功能强大,成本低。特别是系统中嵌入的网络协议栈可以通过适当的配置实现路由器的功能。这些特点使Linux成为开发路由和交换设备的理想开发平台。

Linux的基本思想有两点:
第一、一切都是文件;系统中的一切都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等。对于操作系统内核来说,它们都被看作是具有各自特点或类型的文件。至于基于Unix的Linux,很大程度上是因为两者的基本思想非常相似。第二、每个文件都有明确的目的。
用户可以通过网络或其他渠道免费获得,并可以随意修改自己的源代码。这是其他操作系统做不到的。正因为如此,无数来自世界各地的程序员参与了Linux的修改和编写,程序员可以根据自己的兴趣和灵感进行修改,这使得Linux吸收了无数程序员的精华,不断成长。
(2)Linux的特点?
1.完全兼容POSIX 1.0 standard(可移植操作系统接口标准版)
这使得在Linux下通过相应的模拟器运行常用的DOS和Windows程序成为可能。这为用户从Windows切换到Linux奠定了基础。很多用户在考虑使用Linux的时候,会想到Windows下的常用程序是否能正常运行,这就消除了他们的疑虑。
2.多用户多任务
Linux支持多用户,每个用户对自己的文件设备都有自己的特殊权限,保证了每个用户之间互不影响。多任务处理是现代计算机最重要的特征。Linux可以让多个程序同时独立运行。
3.良好的界面
Linux既有字符界面又有图形界面。在字符界面中,用户可以通过键盘输入相应的指令进行操作。同时还提供了类似Windows图形界面的X-Window系统(图形用户界面),用户可以用鼠标进行操作,且允许用户使用窗口、图标和菜单对系统进行操作。在X-Window环境下,类似于Windows中的,可以说是Linux版的Windows。
4.支持多种平台
Linux可以运行在多种硬件平台上,比如x86、680x0、SPARC、Alpha等平台。另外,Linux是嵌入式操作系统,可以在掌上电脑、机顶盒或者游戏机上运行。2001年1月发布的Linux版内核已经能够完全支持Intel64位芯片架构。Linux也支持多处理器技术。多个处理器同时工作,大大提高了系统性能。
(3)Linux能做什么?
1.网络服务器
由于Linux内核的开源,Linux具有无与伦比的安全性。因此,在许多对安全性要求极高的关键领域,都可以找到Linux的身影。linux server的应用非常广泛,在电信、金融、政府、教育、银行、石油等领域都可以看到它的身影。许多软件公司也使用Linux作为代码测试和托管服务器。

2.网络安全性
Linux天生就有网络基因,所以也是很多网络安全专家和黑客必备的操作系统。不管是白帽还是黑帽,Linux都要精通。
3.嵌入式Linux
因为任何人仍然可以获得和修改Linux内核,所以Linux广泛存在于一些对计算资源有严格要求的领域,例如路由器、交换机、自动售货机、手机、PDA以及各种家用电器。基于Linux内核开发的Android(不包含GNU组件)现在已经成为智能手机最大的操作系统,大部分智能电视都使用定制版本的Android。
嵌入式系统的应用十分广泛,涉及工业生产、日常生活、工业控制、航空航天等多个领域。举例如下:个人通信与娱乐系统:手机、数码相机、音乐播放器、可穿戴电子产品、PSP游戏机家电类产品:数字电视、扫地机器人、智能家电办公自动化:打印机,复印机、传真机医疗电子类产品:生化分析仪、血液分析仪、CT网络通信类产品:通信类交换设备、网络设备 (交换机、路由器、网络安全)汽车电子类产品:引擎控制、安全系统、汽车导航与娱乐系统工业控制类产品:工控机、交互式终端 (POS、ATM)、安全监控、数据采集与传输军事及航天类产品:无人机、雷达、作战机器人
4.超级计算机
开源的Linux具有很高的安全性、稳定性、可定制性和可扩展性,所以大部分超级计算机都会采用Linux作为操作系统。比如中国著名的超级计算机天河二号,就采用了定制的Linux操作系统。

5.通用桌面操作系统
目前微软的Windows在桌面操作系统领域占据了主导地位,但是各种Linux桌面版本也有很大的生命力。经过这么多年的发展,基于linux的各类软件越来越丰富,已经能够在一定程度上取代Windows成为日常的桌面操作系统。

三、linux发展历程
(1)Linux的前身-Unix诞生
1965年,贝尔实验室Bell、麻省理工学院MIT、奇异公司GE,发起了Multics计划,让主机可以达成300个终端。后来因为资金不足、计划进度等问题,退出了研究。贝尔研究室退出了Multics计划。1968年Multics 项目到后期由于开发进度不是很好,MIT 和Bell实验室相继离开这个项目的开发,最终导致项目搁浅。
原计划的人员中有一位Ken Thompson(汤姆森.肯 UNIX之父),再也不能玩自己写的名为“star travel”的游戏了,因为这个游戏完全是基于Multics的。既然实验室撤出了项目,那就自己开发个操作系统来满足想玩游戏的愿望。1969年8月,Thompson趁老婆不在家自己用4周时间写了一个核心程序(包括:内核,文件系统,编辑器,编译程序),Thompson将Multics计划中的系统简化了,最后叫Unics(此时还不叫Unix,它是由B语言写的)。
1970年 Unix诞生
当时在开发Multics项目的时候,实验室中有一个开发成员开发了一 款游戏 (ravel space:遨游太空),因为两个实验室相继离开项目开发,导致这名开发人员没法玩游戏。后来他提议组织人员重新在Multics项目之上重新的开发,也就出现了1970 年的Unix,当时Unix操作系统是使用的汇编语言(机器语言)开发的。
1973年 用C语言重写 Unix
1973年Unix正式诞生,由于Thompson写的这个系统是在太好用了,经过贝尔实验室的流传与数次改版,成为如今用C语言写成的Unics核心,也就是Unix。因为汇编语言有一一个最大的局限性,对于计算机硬件过于依赖。导致移植性不好,所以后斯在1973年使用了C语言对其进行重新开发。
1975年 Bell 实验室允许大学使用Unix
1975年,Bell 实验室允许大学使用Unix操作系统用于教学作用,而不允许用于商业用途。
(2)Linux诞生
Linux的开发作者,Linux之父, linus(李纳斯. 托瓦兹)。
1991年芬兰的赫尔辛基大学的Linus Torvalds(拖瓦兹,莱纳斯:Linux之父),他使用bash、gcc等工具写了一个内核程序,可以在386机器上运行,从此开始Linux的发展之路。
一个名叫Linus Torvalds 的芬兰大学生想要了解Intel的新CPU386。他认为比较好的学习方法是自己编写一个操作系统的内核。出于这种目的,加上他对当时Unix 变种版本(即Minix)对于80386类机器的脆弱支持十分不满,他决定要开发出一个全功能的、支持POSIX标准的、类Unix的操作系统内核,该系统吸收了BSD和System V的优点,同时摒弃了它们的缺点。Linus独立把这个内核开发到0.02 版,这个版本已经可以运行gcc、bash 和很少的一些应用程序。这些就是他开始的全部工作了。后来,他又开始在因特网上寻求广泛的帮助。
李纳斯当时学校使用的就是Unix 操作系统,然后其对系统的底层代码进行了修改,放到了学校为学生开放的网站上,原先他把文件命名写成了Linus's Unix,后期网络管理发现之后觉得这个名字不好,自己手动的将名字改成Linux。随后其他同学下载之后发现这个版本还是挺好用的,随后都把自己代码贡献给李纳斯。
1991年9月17日 Linux 0.0.1版本
1992年1月5日 Linux 0.0.2 版本
1994年3月14日 Linux 1.0 版本
1996年6月9日 Linux 2.0 版本
2011年6月21日 Linux 3.0 版本
上述提及的版本号并不是分支版本,而是指linux的内核版本。
Linux核心理念:万物皆文件;
Linux:是一个内核,而不是一个操作系统;因此我们平常说的“操作系统用的是Windows、Mac还是Linux啊?”是错误的,Ubuntu、Fedora等才是操作系统的名字,他们都使用Linux内核;1991年最初由Linus Torvalds针对386(个人计算机)开发;Linus Torvalds那时是芬兰的一名研究生;Unix Like:很像Unix的操作系统;
(3)Linux系统特点
开放性、多用户、多任务 、良好的用户界面、优异的性能与稳定性
单用户:一个用户,在登录计算机(操作系统),只能允许同时登录一个用户;
单任务:一个任务,允许用户同时进行的操作任务数量;
多用户:多个用户,在登录计算机(操作系统),允许同时登录多个用户进行操作;
多任务:多个任务,允许用户同时进行多个操作任务;
Windows属于:单用户、多任务。Linux属于:多用户、多任务。
(4)Unix和Linux有什么区别
Unix和Linux在许多方面都是类似的,事实上,Linux最初是为了类似于Unix而创建的。两者都有类似的工具用于与系统,编程工具,文件系统布局和其他关键组件连接。但是,Unix不是免费的。多年来,已经创建了许多不同的操作系统,尝试是“类UNIX”或“unix兼容”,但Linux是最成功的,远远超过其前身的人气。
1.Linux是开源的,而Unix不是开源的。
2.Linux是免费使用的,而Unix是授权的操作系统。
3.Linux使用范围更广泛,从台式机,服务器,智能手机到大型机,而Unix主要用于服务器,工作站或PC。
(5)谁使用Linux?
根据用户调查,Internet上的一到三分之二的网页由运行Linux的服务器生成。
公司和个人的服务器选择Linux,因为它是安全的,除了Canonical,SUSE和Red Hat等提供商业支持的公司之外,还可以从大型用户社区获得极好的支持(社区Linux)。
如Android手机,数字存储设备,个人录像机,相机,可穿戴设备等,也运行Linux。甚至你的车有Linux在运行下。
四、Linux 分支结构
1、Linux内核版本
Linux内核使⽤三种不同的版本编号⽅式。
(1)⽤于1.0版本之前(包括1.0)。第⼀个版本是0.01,紧接着是0.02、0.03、0.10、0.11、0.12、0.95、0.96、0.97、0.98、0.99和之后的1.0。
(2)⽤于1.0之后到2.6,数字由三部分“A.B.C”,A代表主版本号,B代表次主版本号,C代表较⼩的末版本号。只有在内核发⽣很⼤变化时(历史上只发⽣过两次,1994年的1.0、1996年的2.0),A才变化。可以通过数字B来判断Linux是否稳定,偶数的B代表稳定版,奇数的B代表开发版。C代表⼀些bug修复,安全更新,新特性和驱动的次数。
以版本2.4.0为例,2代表主版本号,4代表次版本号,0代表改动较⼩的末版本号。
在版本号中,序号的第⼆位为偶数的版本表明这是⼀个可以使⽤的稳定版本,如2.2.5,⽽序号的第⼆位为奇数的版本⼀般有⼀些新的东西加⼊,是个不⼀定很稳定的测试版本,如2.3.1。这样稳定版本来源于上⼀个测试版升级版本号,⽽⼀个稳定版本发展到完全成熟后就不再发展。
(3)从2004年2.6.0版本开始,使⽤⼀种“time-based”的⽅式。3.0版本之前,是⼀种“A.B.C.D”的格式。这些年⾥,前两个数字A.B即“2.6”保持不变,C随着新版本的发布⽽增加,D代表⼀些bug修复、安全更新、添加新特性和驱动的次数。
3.0版本之后是“A.B.C”格式,B随着新版本的发布⽽增加,C代表⼀些bug修复、安全更新、新特性和驱动的次数。
第三种⽅式中不再使⽤偶数代表稳定版,奇数代表开发版这样的命名⽅式。举个例⼦:3.7.0代表的不是开发版,⽽是稳定版!
⼀个典型的Linux发⾏版包括:Linux内核、⼀些GNU程序库和⼯具、命令⾏shell、图形界⾯的X Window系统和相应的桌⾯环境,如:KDE或GNOME,并包含数千种从办公套件、编译器、⽂本编辑器到科学⼯具的应⽤软件。由于发展的Linux公司实在太多了,例如著名的Red Hat、OpenLinux、Mandrake 、Debian、SuSE等。所以很多⼈都很担⼼,如此⼀来每个 distribution(安装套件)是否都不相同呢?这就不需要担⼼了,由于各个distribution都是架构在Linux Kernel下来发展属于⾃⼰公司风格的distribution,因此⼤家都遵守Linux Standard Base ( LSB 的规范,也就是说,各个distribution其实都差不多,⽤到的都是Linux Kernel,只是各个distribution⾥⾯所使⽤的各套件可能并不完全相同⽽已)。
2、Linux主要有以下几个版本:
Linux 的三个主要分支:
1.Red Hat
redhat公司(现已被ibm收购)1993年就开始做linux;提供完整的解决方案。Redhat相对于Debian的社区形式,Redhat属于是商业形式的发行版本。Redhat提供解决方法支持,比社区形象的更稳定。但是也有缺点,就是要收费,就是Redhat提供维护服务和解决方法支持,使用者要支付相应的服务报酬。
2.Slackware
3.Debian
Debian最具特色的是apt-get/dpkg包管理方式。Debian、Arch、Red Hat 是其中几个不派生于其它发行版的使用最广的发行版。Debian项目众多内核分支中以Linux宏内核为主,而且Debian开发者 所创建的操作系统中绝大部分基础工具来自于GNU工程 ,因此 “Debian” 常指Debian GNU/Linux。
每个分支都用一个最具有代表性的商业服务器级的发行版本:
Red Hat >> Red Hat Enterprise Linux 简称 RHEL (提供商业服务)
CentOS (Centos是Redhat的克隆版本,把Redhat的源代码拿来编译然后发行的发行版本;Centos是免费的,是不向用户提供任何的服务。)
Slackware >> SUSE Linux Enterprise 简称 SUSE
虽然现在SUSE Linux 现在和 SUSE越走越远,但是最初还是从SUSE分支出来的,所以我们现在依然以为它是SUSE分支
Debian >> Ubuntu Server 简称 Ubuntu (更加注重方便使用,适合新手)
Debian (偏向于稳定和纯洁,需要一定程度的专业知识)
Kali

Debian
Debian运行起来极其稳定,这使得它非常适合用于服务器。

广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Debian项目众多内核分支中以Linux宏内核为主,而且Debian开发者所创建的操作系统中绝大部分基础工具来自于GNU工程,因此“Debian”常指Debian GNU/Linux。Debian最具特色的是apt-get/dpkg包管理方式。
Kali Linux

Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。
Ubuntu

Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。
Gentoo

与Debian一样,Gentoo这款操作系统也包含数量众多的软件包。Gentoo并非以预编译的形式出现,而是每次需要针对每个系统进行编译。它被认为是最佳学习对象,可以进而了解Linux操作系统的内部运作原理。
Damn Vulnerable Linux

易受攻击的Linux,根本不是一般意义上的优秀的Linux发行版,它的目的在于借机训练Linux管理员。
Arch linux

Arc Linux(或称Arc)是一种以轻量简洁为设计理念的Linux发行版。其开发团队秉承简洁、优雅、正确和代码最小化的设计宗旨。Arch 基本理念是快速、轻巧、弹性与简单。其提供的安装盘只包含安装所需的基本系统,用户可以根据自己的特定需求选择配置安装相应的软件。Arch是一款采用滚动发行方式的操作系统:只要安装一次就够了;每当发行了某个新版本,就可以升级发行版,不需要重新安装。Arch旨在从开发者的角度而不是从用户的角度做到力求简单。Arch配置和安装起来超容易。它真是一款面向高手的发行版,让你可以了解Linux系统的每一个细枝末节。
Red Hat Enterprise Linux

RedHat Enterprise Linux,是Red Hat公司发布的面向企业用户的Linux操作系统,于2007年发行。这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。
CentOS

CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux。CentOS可以得到RedHat的所有功能。并且CentOS是社区维护的,有更加强大的软件功能(社区上发行各种CentOS软件),但CentOS并不向用户提供商业支持,当然也不负任何商业责任。
Fedora

小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。Fedora同样使用YUM来管理软件包。
SUSE Linux

企业级Linux操作系统
OpenSuse

OpenSuse这款Linux发行版是免费的,并不供商业用途使用,仍然供个人使用。OpenSuse的真正竞争对手是红帽企业级Linux。它使用Yast来管理软件包。有了Yast,使用和管理服务器应用程序就非常容易。此外,Yast安装向导程序可以配置电子邮件服务器、LDAP服务器、文件服务器或Web服务器,没有任何不必要的麻烦。它随带snapper快照管理工具,因而可以恢复或使用旧版的文件、更新和配置。由于让滚动发行版本成为可能的Tumbleweed,可将已安装的操作系统更新到最新版本,不需要任何的新发行版。
Oracle Linux

Oracle Linux是Linux发行版本之一,全称为Oracle Enterprise Linux,简称OEL,是Oracle公司在2006年初发布第一个版本。Oracle以Red Hat Linux做为起始,移除了Red Hat的商标,然后加入了Linux的错误修正。Oracle Enterprise Linux与Red Hat Enterprise Linux二进制兼容,也就是能运行在Red Hat上的软件也能运行在Oracle上。
五、Linux之父
Linus Torvalds被称作Linux之⽗,著名的电脑程序员、⿊客。Linux内核的发明⼈及该计划的合作者。他利⽤个⼈时间及器材创造出了这套当今全球最流⾏的操作系统内核之⼀,现受聘于开放源代码开发实验室(OSDL:Open Source Development Labs, Inc),全⼒开发Linux内核。

Linux是⼀个诞⽣于⽹络、成长于⽹络且成熟于⽹络的奇特的操作系统。1991年,当时还是芬兰⼤学⽣的Linus Torvalds萌发了开发⼀个⾃由的Unix操作系统的想法,当年,Linux就诞⽣了,为了不让这个⽻⽑未丰的操作系统⽮折,Linus Torvalds将⾃已的作品Linux通过Internet发布。从此⼀⼤批知名的、不知名的电脑⿊客、编程⼈员加⼊到开发过程中来,⼀场声势浩⼤的运动应运⽽⽣,Linux逐渐成长起来。
Linux⼀开始是要求所有的源码必须公开,并且任何⼈均不得从Linux交易中获利。然⽽这种纯粹的⾃由软件的理想对于Linux的普及和发展是不利的,于是Linux开始转向GPL,成为GNU阵营中的主要⼀员。
Linux凭借优秀的设计、不凡的性能,加上IBM、Intel、CA、CORE、Oracle等国际知名企业的⼤⼒⽀持,市场份额逐步扩⼤,逐渐成为主流操作系统之⼀。
Linux标志
苹果的标志是⼀只被咬了⼀⼝的苹果,微软的标志是⼀⾯窗户(⾄少最初是),⽽Linux的标志(吉祥物)则是⼀只名为Tux的企鹅。

企鹅的来源
1994年发表Linux正式核⼼1.0的时候,⼤家要Linus Torvalds想⼀只吉祥物,他想起曾经在澳⼤利亚的⼀个动物园⾥被企鹅咬过,⼲脆就以企鹅来当吉祥物了!
更容易接受的说法是:企鹅代表南极,⽽南极⼜是全世界共有个⼀块陆地,不属于任何国家。也就是说Linux不属于任何商业公司,是全⼈类每个⼈都可以分享的⼀项技术成果。