Linux 是当今最流行的操作系统,仅次于 Windows 和 MacOS。这个开源系统是免费的,在可靠性、安全性和灵活性方面有着悠久的历史。
由于Linux存在于许多设备中并带来了许多优势,因此了解它是什么以及它如何影响计算机行业是至关重要的。
本文将深入探讨 Linux 以及为什么它是当今最常用的技术之一。
Linux 是一个内核,它有一个开源操作系统的生态系统。该系统基于 UNIX 操作系统,并围绕同一内核构建了许多发行版。
注:Linux 通常指的是内核和操作系统。Linux 内核是每个 Linux 发行版的核心。
Linux 以可靠、稳定、安全和灵活著称。它的特性使它成为运行超级计算机、服务器和台式计算机的热门选择。它也经常被用作嵌入式系统中的嵌入式应用程序(软件)。Linux 是许多日常设备的核心,例如电话、智能电视和可穿戴设备。
Unix 和 Linux 是两种截然不同的技术解决方案:
尽管这两种技术有一些相似之处,但每种解决方案都有独特的功能。下表提供了对这些差异的简要概述。
Unix | Linux 操作系统 |
---|---|
由贝尔实验室研究人员在 1960 年代和 1970 年代开发 | 由 Linus Torvalds 于 1991 年开发 |
原始许可证是私有的,源代码具有受限的分发和修改选项 | 源代码可免费分发和修改(开源) |
多个内核版本 | 单个内核,多个发行版 |
具有不同特性和功能的多个商业版本 | 众多商业和社区创建的发行版 |
开发由供应商关闭和维护 | 发展是开放的,由社区驱动 |
Linux 是 Unix 的克隆,但它不是 Unix。内核借鉴了 Unix 的许多思想,例如使用 POSIX 标准编程api 的接口。尽管如此,该代码并不是Unix源代码的直接派生。
Linus Torvalds 于 1991 年开发了 Linux,当时他还是赫尔辛基大学的学生。最初的 Linux 内核是为使用英特尔 80386 微处理器的计算机设计的。
在那段时间里,Linus 使用 Minix,一个廉价的 Unix 作为学习平台。由于许可证限制了对源代码的修改,Linus 决定创建一个操作系统内核。这个项目最初是一个简单的终端模拟器,用于连接大学里的大型 Unix 系统,后来得到了进一步的开发和改进。
1991 年,第一个 Linux 版本出现在互联网上。项目变得协作,许多程序员参与到它的开发中。因此,该系统可以在许多不同的处理器版本上运行。新的公司开始专攻 Linux,比如红帽公司,而像英特尔这样的巨头则为嵌入式系统、桌面机器和服务器提供 Linux 解决方案。
Linux 最令人兴奋的特性之一是它不是一个商业产品。创建者维护内核,而一组连接的开发人员继续开发。该项目是通过互联网合作的结果。
Linux 内核具有单一的开放体系结构。Linux 操作系统的基本架构由三层组成:
硬件:机器的物理组成部分,内存(RAM)和处理器(CPU)。
内核:内存软件和CPU控制器,内核充当硬件和进程之间的连接器。
进程:系统上由内核控制的运行程序,进程构成了内核之外的所有任务。
Linux 系统将虚拟内存分成两个不同的空间:
内核在 Linux 操作系统中起着中心作用,并与许多不同的体系结构部分一起工作。下面是 Linux 主要组件的简要概述。
引导加载程序是每次 Linux 系统启动或重新启动时运行的程序。引导加载程序的主要功能是将内核加载到内存中并启动引导过程。
除了定位和加载内核之外,该程序还为内核设置初始启动环境并提供所需的信息。
Linux 上最常见的两个引导加载程序是:
完成引导过程后,Linux 内核继续运行操作系统。
内核是操作系统中最底层的软件。它充当硬件和应用程序之间的通信点。Linux 内核是单片的,用C 语言和汇编语言编写。它提供了运行系统所需的所有低级进程。
Linux 内核管理以下组件:
通过管理低级任务,内核在用户和硬件之间提供了一个抽象层,同时允许用户访问硬件信息。库的使用可以打开和关闭内核中的某些功能,使其非常可定制和灵活。
在抽象硬件的同时访问信息的额外灵活性提供了一个非常模块化的内核模型。
init 系统是由内核启动的 Linux 守护进程。init 系统的目的是在引导期间初始化用户空间,并在运行时期间管理系统进程。init系统任务包括:
最初的 Linux 初始化系统是基于 Unix SystemV (SysV) 初始化系统。SysV 依赖于 /etc/init.d 目录下中的脚本,根据运行级别顺序启动、停止和重启服务。
大多数主要的 Linux 发行版(Ubuntu、CentOS、Fedora、Debian)使用 systemd 实现 init 系统,它向后兼容 SysV。该系统提供更快的引导时间和更好的系统管理功能,例如通过 journalctl 进行详细的日志记录。
有些 Linux 系统允许在安装过程中选择不同的初始化系统。这个选择很关键,会影响整个系统的行为。
守护进程是在引导过程中启动的后台进程。并等待特定的事件或请求在没有用户干预的情况下发生。守护进程的一些例子包括:
Linux 包含许多守护进程,每个进程都具有特定的功能。总的来说,守护进程确保程序在系统上顺利运行。
图形服务器是 Linux 上的一个基本框架,用于在监视器上显示图形。该组件实现了 X 窗口系统(X11或X),并支持窗口管理、键盘/鼠标输入和多显示支持。
X 窗口系统不提供用户界面。不同的程序处理用户与之交互的可视化界面的细节。
桌面环境提供实现图形用户界面(GUI)的软件。桌面环境提供了一种合乎逻辑且用户友好的方式来导航各种操作系统组件。
Linux 提供了几种不同的桌面环境可供选择,它们是独立于发行版的。
桌面环境包含几个内置的应用程序,如文本编辑器、配置程序、web 浏览器和其他实用程序。
应用程序是 Linux 操作系统的最高层。大多数 Linux 发行版提供集中的应用程序商店环境来搜索和安装应用程序。
注意:对于迁移到 Linux 的 Windows 用户,Wine 等程序允许在 Linux 上运行 Windows 应用程序。
Linux 管理硬件资源,并提供与系统资源交互的接口。内核是操作系统与硬件交互的核心组件。
围绕内核构建的支持 Linux 工作的关键组件将在以下部分中介绍。
Linux 使用称为 shell 的命令行接口与内核通信。shell 使用户能够使用各种 Linux 命令而不是 GUI 与操作系统进行交互。有几种流行的 shel l类型,如 Bash、Zsh、Fish 等。
使用基于文本的命令可以访问各种 Linux 实用程序和工具。shell 支持文件管理、管理任务和配置系统设置。
Linux 文件系统决定了文件和目录在 SSD 或 HDD 上的存储方式。Linux 支持各种文件系统类型,最常见的是扩展文件系统(ext)。
Linux上常见的文件系统包括:
ext2:在许多早期的 Linux 系统上,不包括日志记录。
ext3:是 ext2 的扩展,增加了日志记录功能来跟踪文件系统的更改。
ext4:是大多数现代Linux发行版的默认设置。文件系统支持大文件系统,具有更好的性能和可扩展性。
Btrfs: (B-tree文件系统)提供高级特性,如 RAID 支持和自修复。
XFS:是一种健壮的高性能文件系统,适用于大型文件系统和文件。
文件系统的选择取决于具体的需要、需求和用例。
Linux中的进程是操作系统中的单个工作单元。正在运行的命令或程序的任何实例都是具有唯一标识符(进程ID或PID)的进程。
进程有几种不同的状态,例如:
Linux提供了各种实用程序和工具来管理进程:
处理进程对于 Linux 来说是必不可少的。了解如何管理进程有助于解决软件问题,优化性能,并直接管理系统资源。
Linux 采用文件系统的权限模式。该模型基于三个不同的级别分配不同的权限:
用户权限允许对文件和目录执行不同的任务。可用的用户权限包括:
需要查看文件或目录的权限,使用带-l选项的 ls 命令。输出显示了用户、组和其他用户的权限。例如:
-rw-r--r-- 1 user group 2028 Aug 19 2:00 file.txt
包是在 Linux 发行版上发布软件的一种标准化方式。包是包含安装某些软件所需的所有数据的压缩归档文件。
Linux 操作系统使用软件包管理系统来安装、删除和更新软件包。包管理器解析依赖关系并更新包存储库以保持一致性。
Linux 发行版为软件安装和维护提供了一个现成的包管理系统。流行的包管理器包括:
Linux 发行版还提供了更高级的解决方案,通过 GUI 作为一种用户友好的方法来管理包。
Linux 包含一个健壮的网络管理、监视和故障排除工具栈。Linux 中的网络选项是高度可定制的,并且支持许多网络协议。
一些关键的 Linux 网络元素包括:
可用的程序、工具和定制使 Linux 受到网络管理员的欢迎。
驱动程序使操作系统能够与连接的硬件进行交互。usb、图形卡、声卡和网络适配器等设备需要驱动程序正常工作。
驱动程序通常在 Linux 上作为内核模块工作。
注: 查看 modprobe 命令如何添加和删除内核模块
在研究 Linux 时,需要考虑许多优点和缺点。大多数优点和缺点取决于个人的喜好和要求。
下面概述了Linux的主要优点和缺点。
作为当今最流行的操作系统之一,Linux 有很多优点。Linux 的一些重要的积极特性是:
Linux 有几个缺点,特别是对于不熟悉环境的用户。Linux 的一些缺点包括:
Linux 内核是免费软件,这意味着它是使用 GNU 通用公共许可证的开源代码。用户可以下载并更改原始源代码。唯一的义务是更改的分发需要具有相同的开源许可证和可用的源代码。
Linux 的开源方面在系统的广泛成功和实现中起着至关重要的作用。开源原则在很多方面影响着 Linux,用自由软件创建了一个协作和创造性的社区。
由于其多功能性,Linux 操作系统出现在许多上下文中。Linux 操作系统的一些常见用途包括:
Linux 发行版(发行版)是 Linux 操作系统的不同变体。每个发行版都将 Linux 内核与软件、工具、库和桌面环境相结合,以服务于特定的用例。
以下是最流行的 Linux 发行版列表:
选择正确的 Linux 发行版取决于许多因素。最好的方法是尝试不同的发行版,最好使用虚拟化程序,如 Virtualbox 和 VMware。
选择 Linux 发行版时要考虑的一些关键事项包括:
本文章解释了 Linux 是什么、它的基础设施以及它是如何工作的。这个多功能且功能强大的系统是计算世界不可或缺的一部分,并通过开源原则继续培养一个富有创造力、创新性和协作性的社区。