文章目录
1.Linux内核的历史 2.基本概念 3.发行版 4.Linux应用领域 5.Linux VS Windows 横向对比表格:1.Linux内核的历史
Linux内核最初由一位名叫Linus Torvalds的芬兰计算机科学家于1991年创建。当时,Torvalds是一名赫尔辛基大学的学生,他在寻找一个类似于UNIX操作系统的替代品时开始着手开发Linux内核。他的目标是创建一个免费且开放源代码的操作系统,这使得任何人都可以自由地使用、修改和分发它。
Linux内核是操作系统的核心组成部分,它是连接硬件和软件之间的桥梁。它提供了许多基本功能,如进程管理、内存管理、设备驱动程序和文件系统支持等。Linux内核是一个高度可定制的软件,可以根据不同的需求进行修改和扩展。
2.基本概念
Linux是一个基于UNIX的操作系统,它具有许多独特的特点。首先,Linux是开放源代码的,这意味着任何人都可以查看、修改和分发它的源代码。这种开放性促进了全球范围内的开发者社区的合作和贡献,使得Linux不断得到改进和完善。
其次,Linux是多用户、多任务的操作系统。它可以同时支持多个用户进行登录和操作,并且能够同时运行多个程序。这种多任务能力使得Linux成为服务器和大型计算机环境中的首选操作系统。此外,Linux拥有良好的稳定性和安全性。它在设计和开发过程中注重稳定性和安全性,并且拥有一个强大的权限管理系统,可以控制用户对系统资源的访问权限。最后,Linux具有广泛的硬件支持。它可以在各种硬件平台上运行,从个人计算机到嵌入式设备、服务器和超级计算机等。
3.发行版
笔者最先是入坑捣鼓了Archlinux,然后Manjaro、Ubuntu、Kubuntu、Deepin、CentOS和Kali linux,太多太多,各具特色,百家争鸣。不同系统大同小异,根据不同的使用需求去选择不同的发行版,以上笔者仅为了个人折腾乐趣,先后次序不具教学意义。
# 一条命令查看Linux发行版的真实用户份额:
wget -qO - linux.top/o|sh
以下为软件包统计,https://repology.org/repositories/statistics/total,根据total量排序统计结果,NixOS系统无愧于新晋之神,不过笔者在2020年已经退坑折腾了,当年Archlinux还是蝉联榜首的。(这里讨论的是软件包支持数量而非发行版用户量,目前身边用的最多的还是ubuntu和centos)
4.Linux应用领域
服务器和数据中心:Linux在服务器和数据中心领域得到了广泛应用。由于其稳定性、安全性和可靠性,许多互联网公司、企业和组织选择在其服务器上运行Linux操作系统。它被用于托管网站、数据库、云计算、大数据处理等关键任务。
嵌入式系统:Linux在嵌入式系统领域也得到了广泛应用。嵌入式Linux可以在各种设备上运行,如智能手机、平板电脑、智能电视、路由器、机顶盒等。它提供了一个灵活的操作系统平台,可以满足不同设备的需求。
科学研究和超级计算:Linux在科学研究和超级计算领域也发挥着重要作用。许多科学实验室、研究机构和大学使用Linux作为其研究和计算平台。Linux的开放性和可定制性使得科学家们可以根据自己的需求进行定制和优化。
移动设备和智能手机:虽然移动设备市场主要由iOS和Android操作系统主导,但Linux在移动设备领域也有一席之地。例如,Android操作系统是基于Linux内核开发的,并且许多智能手机制造商使用Linux作为其移动设备的底层操作系统。
软件开发和编程环境:Linux是许多开发人员和程序员首选的操作系统。它提供了丰富的开发工具、编程语言支持和开发环境。许多开发人员喜欢Linux的自由和灵活性,以及开源社区提供的丰富资源和支持。
但是第一大用途还是作为服务器使用:
LAMP/LNMP堆栈:LAMP(Linux + Apache + MySQL + PHP)和LNMP(Linux + Nginx + MySQL + PHP)是两种常见的Web服务器堆栈。它们将Linux作为操作系统,与Apache或Nginx作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本语言进行组合。这些堆栈提供了强大的Web开发环境,适用于构建和托管各种动态网站和Web应用程序。
LEMP堆栈:LEMP(Linux + Nginx + MySQL/MariaDB + PHP)是类似于LAMP堆栈的替代方案,它使用Nginx作为Web服务器,MySQL或MariaDB作为数据库,PHP作为服务器端脚本语言。LEMP堆栈被广泛用于高性能、高并发的Web应用程序和网站。
MEAN/MERN堆栈:MEAN(MongoDB + Express + Angular + Node.js)和MERN(MongoDB + Express + React + Node.js)是一种现代的全栈JavaScript开发方案。它们使用Linux作为操作系统,与MongoDB(或MERN中的MySQL/MariaDB),Express作为后端框架,Angular或React作为前端框架,以及Node.js作为服务器端运行时环境。这些堆栈适用于构建现代的单页应用程序和Web服务。
Linux服务器与Docker:Docker是一种流行的容器化平台,可以轻松地在Linux服务器上部署和管理容器化应用程序。使用Docker,您可以将应用程序和其依赖项打包到容器中,并在不同的Linux服务器上运行它们,而无需担心环境差异。这为应用程序的部署、扩展和管理提供了更好的灵活性和可移植性。
5.Linux VS Windows
在全球操作系统用户统计中,Windows是占第一的,Linux始终还是小众用户。这里不讨论Mac系统,其实Mac系统也是基于unix系统的,不过跟Linux是两条分支前者走商业化路线,后者继续开源。
用一张长图从九个方面对比Linux和Windows:https://www.educba.com/linux-vs-windows/