(一)理论介绍
Linux包括内核和外围软件。内核与硬件紧密相关,外围软件提供系统调用的接口,方便编写应用程序。
同一个操作系统是不能运行在不同的处理器架构上的,因为不同的处理器的指令不同。但是Linux是开放源码的,任何人都可以修改源码,所以可以很方便地修改以适应不同的处理器架构,这就是Linux的可移植性。
Linux来源于UNIX。 1969年,Bell,MIT,GE合作研发Multics系统,后来因为Multics太复杂,很难成功,Bell退出。然而参与过Multics项目的Bell研究员Ken Thompson获得灵感,自己开发了一个File Server System,同实验室的同事都觉得好用。后来Thompson与人合作将原来用汇编语言写的Unics改为用C语言编写。此时AT&T公司对UNIX还是处于开放状态,很多厂商都可以获得UNIX的源码并改变成适合自己的硬件的UNIX版本。此时UNIX还是大多用于服务器架构和大型机,个人x86计算机上无法使用UNIX,后来有人修改UNIX源码使之可以运行在x86架构上。后来UNIX的影响越来越大,AT&T公司决定收回版权,源代码不能再向学生公开。有个教UNIX内核源码的教授AndrewTanenbaum因此自己写了一个系统Minix用于教育,但是教授很忙,并没有去完善它。与此同时Richard Mathew Stallman在1984年发起GNU(GNU=GNU's Not UNIX)项目,掀起自由软件的风潮。该项目的目的就是创建一个自由、开放的UNIX操作系统,但是AT&T已经收回版权,不允许再公布UNIX源码。开发操作系统太困难了,于是Stallman决定先开发可以在UNIX上运行的自由软件,比较著名的软件有:Emacs、GCC、GNU C Library、Bash shell等。有了上面的工具,程序员可以很方便地开发应用程序了。GNU引起巨大反响。
GNU GPL:可以取得源码,复制软件,修改源码,再发行,回馈;不能修改授权,即不可以在修改自由软件后将GPL授权取消;不允许单纯销售自由软件,可以附带销售售后服务和相关手册。通过服务来获取商业利益。
芬兰赫尔辛基大写Torvalds利用GNU提供的自由软件和Minix开发出来早期的Linux内核Kernel,并将它公布到互联网上,在互联网上由一群志愿者组建的虚拟团队一起完善Linux。Torvalds决定以企鹅为Linux的吉祥物。
(二)Linux的应用和如何学习Linux
很多商业公司和非营利机构将Linux Kernel与可运行的软件集成起来,加上自己具有创意的工具程序,这个工具可以让用户以光盘、DVD或者通过网络直接安装/管理Linux系统。这个“Linux+Softwares+Tools”的可完全安装的系统,称为Linux distribution(Linux发行版,Linux可完全安装套件)。不同的发行版的内核是一样的,只是外围工具不同。
常见发行版有:Red Hat、Fedora、Ubuntu、CentOS、Novell SuSE、Gentoo、Mandriva、Debian、Slachware等。
Linux的特色:
自由和开放的使用、学习环境
设备需求低
内核强大而稳定
独立作业
适合于需要小内核程序的嵌入式系统
Linux应用:网络服务器、关键任务(金融业等)、大型工作站、学术机构高性能运算、桌面应用、手持设备系统、嵌入式系统等。
如何使用Linux?不能让Linux死板地定位在那儿,更多可用的功能有待我们自己去发掘!
学习Linux还是学习distribution?
Linux的发行版很多,选择一个发行版好好研究学习就好,重点是掌握Linux,而不是学习如何操作各种不同的Linux发行版。
学习Linux的精髓,应该放弃使用图形界面,不能用使用Windows的思维来使用Linux。但如果只是想玩一玩而已,那么掌握一个比较流行的桌面式Linux发行版的操作就可以了,比如Ubuntu和Fedora。但是Linux一般作为服务器和嵌入式系统为主,计算机专业的学生应该熟悉使用命令行模式操作Linux。
一般来说,Linux图形界面只是一个程序,不是Linux的内核,X Window是很耗系统资源的。作为服务器操作系统的Linux一般都不推荐运行X Window。
学习Linux的参考步骤(学习Linux得花比较长的时间,要有耐心,一旦学好了,无比强大!):
1、学习计算机概论和相关硬件知识(要有个基本的概念)
2、学习Linux的安装和常用基本命令(了解磁盘管理和分区,要多装几次系统来熟悉)
3、学习Linux操作系统的基本技能(用户/用户组,权限等概念)
4、学习使用vim(这是一个很好的工具,为以后编写shell脚本也做好准备)