Linux 基础教程:从零到进阶,成为最强管理员
由 linux.mba「Most Badass Admin」最强管理员社区撰写
第一部分:Linux 入门
第一章:Linux 概述
1.1 什么是 Linux?
Linux 是一种类 Unix 操作系统,源自 Linus Torvalds 于 1991 年发布的 Linux 内核。它是一种开源、自由软件,意味着任何人都可以自由使用、修改和分发其代码。与许多商业操作系统(如 Windows 和 macOS)不同,Linux 更加注重开放性与自由性。它广泛应用于服务器、桌面计算机、嵌入式设备等多个领域。
简而言之,Linux 是一个操作系统的内核(核心),而基于该内核开发的完整系统称为 Linux 操作系统。尽管很多人把“Linux”当作整个操作系统的名称,但其实它指的是操作系统的内核,操作系统的其他部分通常是由各种开源项目组成的。
1.2 Linux 与其他操作系统的比较
在了解 Linux 之前,了解它与其他操作系统(如 Windows 和 macOS)的主要区别是很有必要的。这里,我们将对比一下它们的核心特性:
- 开源与闭源:Linux 是开源的,意味着它的源代码对所有人开放,可以自由修改。而 Windows 和 macOS 都是闭源的,只有厂商可以访问源代码。
- 用户界面:Linux 提供多种图形用户界面(GUI),如 GNOME 和 KDE,但其最强大的部分是基于命令行的界面。相反,Windows 和 macOS 都是以图形用户界面为主,命令行仅作为辅助工具存在。
- 文件系统:Linux 使用 ext4、xfs 等文件系统,而 Windows 使用 NTFS,macOS 使用 HFS+ 或 APFS。Linux 的文件权限管理比 Windows 和 macOS 更加灵活,管理员可以精确控制文件的读写权限。
- 稳定性与安全性:Linux 被认为是非常稳定和安全的操作系统。它的开源特性使得全球的开发者可以对代码进行审查和修复漏洞。而 Windows 和 macOS 的封闭源代码可能导致一些安全漏洞较难被快速发现和修复。
- 软件包管理:Linux 通过包管理系统来管理软件安装和更新,如 Ubuntu 使用
apt
,CentOS 使用yum
或dnf
。Windows 和 macOS 则更多依赖于图形界面来安装软件,虽然现在也有 Windows 包管理工具(如winget
)和 macOS 的brew
。
1.3 Linux 的历史与发展
Linux 的发展历史可以追溯到 1991 年,Linus Torvalds 在芬兰赫尔辛基大学时开始编写 Linux 内核。最初,它是一个模仿 Unix 的小型操作系统,用于个人学习和实验。Torvalds 在发布第一个版本时公开了代码,并邀请其他开发者参与改进。随着时间的推移,越来越多的开发者加入,Linux 逐渐发展成为一个稳定、强大且广泛应用的操作系统。
Linux 的重要历史节点:
- 1991 年:Linus Torvalds 发布了第一版 Linux 内核,标志着 Linux 的诞生。
- 1992 年:Linux 变成了完全开源的操作系统,GNU 项目提供了重要的支持,使得 Linux 成为一个完整的操作系统。
- 1994 年:Linux 内核 1.0 发布,正式进入生产使用。
- 2000 年代:Linux 开始在服务器市场上占据重要地位,尤其是在 Web 服务器和数据库服务器中。
- 2010 年代至今:随着云计算、容器化技术的兴起,Linux 成为云服务和容器管理的主流操作系统。
1.4 常见 Linux 发行版简介
虽然 Linux 内核是一个共同的基础,但不同的组织和社区基于它开发了多种发行版(Distro),每个发行版都有不同的特点和应用场景。对于管理员来说,选择合适的 Linux 发行版至关重要。我们将介绍两个最常见的发行版:Ubuntu 和 CentOS。
- Ubuntu:Ubuntu 是基于 Debian 的一款 Linux 发行版,它具有非常友好的用户界面和广泛的社区支持。Ubuntu 非常适合新手,也适用于服务器和桌面环境。它每六个月发布一个新版本,并且每两年发布一个长期支持版本(LTS),具有五年的安全更新。
- CentOS(或 Rocky Linux、AlmaLinux):CentOS 曾经是基于 Red Hat Enterprise Linux (RHEL) 的免费版本,适用于需要稳定和企业级支持的服务器环境。自 RHEL 的 CentOS Stream 项目推出后,CentOS 的角色发生了变化,社区推出了 Rocky Linux 和 AlmaLinux 来填补这个空缺,它们继续保持与 RHEL 的兼容性,并且面向企业级用户。
在接下来的章节中,我们将重点讨论 Ubuntu 和 CentOS这两个发行版的使用,帮助你理解和管理这些常见的 Linux 系统。