Linux是什么
Linux是一种自由和开放源码的类UNIX操作系统,使用Linux内核。 Linux是一个领先的操作系统,世界上运算最快的10台超算运行的都是Linux操作系统(废话)。
而Linux操作系统也是自由软件和开放源代码发展中最著名的例子。只要遵循GNU通用公共许可证即GPL,任何人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统(也被称为GNU/ Linux)。通常情况下,Linux被打包成供pc和服务器使用的Linux发行版本。
Linux的特点
- 开放性,多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面(命令界面,图形界面等),出色的速度性能。
Linux的组成
- 内核:是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。
- Shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。但它不仅是命令解释器,而且还是高级编程语言,shell编程(可以理解为脚本)。
- 文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法,Linux支持多种文件系统,如ext3,ext2,NFS,SMB,iso9660等。
- 应用程序:标准的Linux操作系统都会有一套应用程序例如X-Window,Open Office等。
为什么Linux不像Windows一样使用图形界面
- 图形化占用资源
- 机房部署方便,无需配置操作界面
Linux常用的发行版本
一般来说,Linux运行版本可以分为两大阵营,Redhat系列以及Debian系列。其最大区别就在于包管理的模式不同,而前者是商业公司维护的发行版本,后者是社区组织维护的发行版本
- Redhat:包括常见的稳定性方面十分出色的RHEL与CentOS,而Fedora Core常见于桌面应用,稳定性较差。Redhat应该说是在国内使用人群最多的Linux版本,甚至有人将Redhat等同于Linux,而有些老鸟更是只用这一个版本的Linux。所以这个版本的特点就是使用人群数量大,资料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人来问,而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件,并且支持tar包。(rpm类似于windows里的安装程序,其会会自动处理软件包之间的依赖关系。)
- Debian: 包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。Debian最具特色的是apt-get/dpkg包管理方式(对标RPM包的yum管理),其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。
- Ubuntu:严格来说不应该称为一种版本,本质就是Debian的延续版,拥有的apt-get自动安装、更新软件的方式,都是Debian首创。Ubuntu有着漂亮的用户界面,完善的包管理系统,强大的软件源支持,丰富的技术社区,Ubuntu还对大多数硬件有着良好的兼容性,包括最新的图形显卡等等。这一切让Ubuntu越来越向大众化方向发展。但别忘了:你所需要的只是一个简约、稳定、易用的服务器系统而已!
- Drawin:值得一提的OS内核,虽然它和今天介绍的Linux无关。Darwin 是一个由Apple开发的类UNIX操作系统。自2000年后,Darwin 是苹果所有操作系统的基础,包括 macOS(原名 Mac OS X ,后缩写为 OS X,至 WWDC 2016 改名为 macOS)、iOS、watchOS 和 tvOS。MacOS即苹果公司推出的基于图形用户界面操作系统,为麦金塔(Macintosh,简称 Mac)系列电脑的主操作系统。Apple的产品向来是以简洁流畅著称,这必然和底层的微内核架构有莫大的关系,而且其实macOS内核(XNU)比 Linux 历史更悠久,并且基于两个更古老一些的代码库的结合;另一方面,Linux 新一些,是从头开始编写的,并且在更多设备上使用。