1. 历史
Linux操作系统诞生于1991年Unix典型的克隆系统。它是基于POSIX和Unix多用户、多任务、支持多线程和多任务CPU同时,Linux继承了Unix以 *** 为核心的设计理念也是性能稳定的多用户 *** 操作系统。
Linux 最早是芬兰人 Linus Torvalds 设计。当时因为 Unix 商业化,Andrew Tannebaum教授开发了Minix操作系统不受影响AT&T许可协议的约束,为教学科研提供一个操作系统。当时发布在 Internet 上,免费给全世界的学生。Minix 有很多 Unix但是和Unix不完全兼容。
1991年10月5日,Linus Torvalds为了给Minix用户设计更有效Unix PC版本,自己写一个“类Minix”操作系统。当时最初的核版本是0.02。Linus将它发到了Minix新闻组,很快就得到了回应。Linus 在这种简单的任务切换机制上进行扩展,并在很多热心支持者的帮助下开发和推出了Linux之一个稳定的工作版本。
1991年11月,Linux0.10版本推出,0.11版本于1991年12月推出,当时发布Internet人们可以 *** 。Linux非常接近一个可靠稳定的系统,Linus决定将0.13版本称为0.95版本。1994年3月,正式Linux 1.0它出现了,这几乎是一个正式的独立宣言。到目前为止,它的用户基础已经发展得展,Linux还建立了核心开发团队。
开源,开放,免费Linux魅力所在Linux出生后,借助Internet在全世界计算机爱好者的共同努力下, *** 已经成为世界上用户最多的类似 *** Unix操作系统Linux在操作系统的诞生、成长和发展过程中,Unix操作系统、GNU计划、POSIX标准、Internet *** 等方面起着重要作用。
Linux还具有良好的可移植性。Linux编译后,可在大量处理器和具有不同系统结构约束和需求的平台上运行。经过30年的发展,Linux操作系统已广泛应用于服务器、嵌入式系统和个人计算机。
2. 内核简介
Linux是一体化内核(Monolithic Kernel)系统。
“内核”指提供硬件抽象层、磁盘和文件系统控制、多任务等功能的系统软件。核心不是一个完整的操作系统。Linux内核的完整操作系统称为Linux操作系统,或 GNU/Linux。硬件可以完全访问设备驱动程序。Linux 内部的设备驱动程序可以很容易地以模块化的形式设置,并在系统运行过程中直接装载或卸载。
内核是Linux操作系统最重要的部分,从最初0.95版本到目前为止4.9.4版本,Linux经过30年的内核开发,其结构非常稳定。Linux内核编号采用以下形式。
主版本号.次版本号.修订版本号
不过,在2.6.x 系列,从2.6.8.1 内核一直持续到2.6.11,较小的内核隐患和安全补丁被赋予次小数点版本号,如2.6.11.1。
在Linux的Terminal下面,查看本机内核信息的命令如下。
加载核心模块的命令如下:
删除内核模块的命令如下:
其中,filename为用户准备需要添加内核的模块文件,检查系统加载的内核模块(部分)如下。
3. 发行版本
Linux有很多发行版本,有人收集了300多个发行版本,其中主要有3个著名发行版本Fedora、SUSE、Debian,如图1所示。
图1 Linux发行版本
Fedora是基于RHEL、CentOS、Scientific Linux和Oracle Linux社区版。Fedora比RHEL包装更多的软件包。CentOS用于活动、演示和实验,因为它是免费为最终用户提供的,并且有比例Fedora更长的发布周期(通常每半年左右发布一个新版本)。
SUSE、SUSE Linux Enterprise Server(SLES)和openSUSE关系类似Fedora、Red Hat Enterprise Linux和CentOS的关系。
Debian是包括Ubuntu上游有很多发行版,但是Ubuntu又是Linux Mint上游还有其他发行版。Debian它广泛应用于服务器和桌面计算机领域。它是一个纯开源计划,专注于一个关键点——稳定性。它还为用户提供了更大、最完整的软件仓库。Kali Linux 就是基于Debian发展而来。
还有其他发行版本Magela、Manjaro、Arch、Elementary和Gentoo Linux等。
4. 文件系统
Linux与Windows文件组织结构不同,Linux将整个文件系统表示为树状结构,而不是使用磁盘分区符号来访问文件系统,Linux 系统每增加一个文件系统,都会将其添加到树中。
操作系统文件结构的开始,只有一个单独的顶级目录结构,叫作根目录。所有一切都从“根”开始,用“/”代表,并延伸到子目录。
DOS/Windows根据磁盘分区的概念,下文件系统对目录进行分类。Linux则通过“挂载”将所有分区放置在一起的方式“根”在下面的目录中。Kali Linux系统的文件结构如下。
还可以使用tree命令直观地显示文件目录的树结构如下。