Linux 初识

一.计算机与操作系统的发展历史

众所周知,Linux是著名的开源操作系统,接下来的文章我们会重点讲解它和它的发行版本(这里主要使用Ubuntu和CentOS),为此,就离不开介绍计算机的发展历史和操作系统的关系。

1.计算机的发展历史与操作系统诞生

计算机与操作系统我们可以看做是双线进行的发展历程。

早期的计算机出现就是为了解决工业级的计算任务,随着硬件和理论知识的发展,计算机逐渐小型化,高性能化。

渐渐的分化出面向企业的大型计算机,面向个人的小型计算机等等不同的计算机类型。

计算机的任务简单来说,就是输入数据,处理数据,输出数据的过程。对于单任务来说,早期的人工管理操作任务尚且没有太大问题,但随着任务的复杂化,单单对计算机进行硬件的升级已经不能满足处理数据的需求,此时急需一个对任务和资源进行同一调度管理的"物品"------那就是操作系统。

操作系统做的工作,用通俗的例子来解释就是:一个餐馆原本采用服务员点单的形式进行点单,一个服务员在同一时刻最多只能为一两桌客人进行点单服务。但当下订单的客人越来越多时,一味的增加服务员的数量处理客人订单显然非常耗材且费时,于是诞生了线上点单系统,这样就可以对多个需要点单的客人进行同一管理。
任务调度示例图

二.开源操作系统Linux

1.什么是开源

简单来说,开源是一种软件开发和分发的哲学与实践,其核心在于将软件的源代码公开,并授予用户使用、学习、修改和分发(无论是否修改过)的权利。

这不仅仅是"源代码可用",而是由OSI(开放源代码倡议组织) 等机构定义的一系列具体权利,通过许可证(如GPL, Apache, MIT)来法律化。Linux 正是在 GPL(通用公共许可证) 下发布的。

2.Linux的诞生与开源精神

Linux的诞生,简单来说就是:一个叫Linus Torvalds大学生,在使用了Unix之后萌生的一个小小想法。但正是这个小小的想法,以及Linus本人秉持的开源精神,让Linux系统成为了"站在巨人肩上的伟大之作":Linus将 Linux 内核的版本0.01 源代码放到了大学的 FTP 服务器上供人下载。它极其简陋,甚至无法独立启动,需要从 MINIX 启动后才能运行。但它的许可证明确要求:可以免费使用,但禁止任何商业用途 。我们甚至可以很轻松的获取Linux的内核源码(kernal)。

1.开源的愿景驱动

开源,尤其是围绕 Linux 的生态系统,其发展愿景源于一种乌托邦式的理想主义和技术极客的实用主义结合。其核心愿景可以概括为:

自由与共享(Freedom to Share),协作与创新(Collaboration & Innovation),技术民主化(Democratization of Technology)。

建立一个通过全球协作、透明开放的方式,共同创造顶级软件技术,并让全人类受益的生态系统。它更像一种"运动"或"文化"。

相较于闭源的操作系统,开源的操作系统的优秀之处在于:任何人可以使用,任何人都可以发现当前发行版本的各种bug(优化,性能等等。。)并及时修正,并随之诞生了庞大的社区和论坛。

2.开源的商业模式

如果一个模式只有理想没有经济价值,它无法持续。开源之所以能成功,正是因为它催生了一系列强大而可持续的商业模式。这些模式的核心是:不再通过"出售软件许可"赚钱,而是围绕开源软件"提供增值服务"来赚钱。

模式:软件本身免费,但为企业客户提供付费的技术支持、咨询、培训和定制化开发服务(RedHat)

模式:软件的核心基础功能是开源的,但高级功能、企业级特性(如可视化监控、高级安全管理、集群工具等)是闭源且需要付费的。

模式:将开源软件作为云服务提供给用户。用户无需自己下载、安装、维护复杂的软件,只需按使用量付费即可享受服务。这被称为"开源软件的云化"(腾讯云服务器)。

模式:硬件公司(如Intel, IBM, NVIDIA)积极为Linux内核贡献代码,以确保Linux能更好地支持他们的硬件。

模式:基于强大的开源平台(如Linux),构建一个庞大的合作伙伴和衍生产品生态系统(Google的Android)。

3.Linux的不同版本

1.不同的发行版本

Linux的内核虽然也在更迭,但不同的发行版本使用的基本都是同一个内核,那么是什么导致了有这么多的发行版本?

简单来说有以下几点:

1.不同的发行版本使用的并不是"纯净"的内核,他们都对内核打了不同程度不同方面的补丁。

2.包管理系统和软件生态不同。

  • DPKG/APT :Debian、Ubuntu、Linux Mint 使用。 .deb 格式的软件包。拥有巨大的软件仓库,命令简单易用。

  • RPM/DNF (YUM) :Red Hat、Fedora、CentOS、openSUSE 使用。 .rpm 格式的软件包。在企业市场占主导地位。

3.发布,更新,和维护周期不同。

4.用户理念与愿景不同。

  • "开箱即用"UbuntuLinux Mint 的目标是让用户安装完就能用,预装了浏览器、办公套件、媒体解码器等,追求易用性。

  • "用户掌控一切"Arch LinuxGentoo 追求极简和自定义,安装后只有一个命令行,所有东西都由用户按需安装。它们面向技术爱好者和学习者。

  • "坚如磐石"Debian 极度强调稳定和自由软件纯度。RHEL 极度强调企业级的稳定性和支持。

  • "炫酷新技术"Fedora 常常是Red Hat新技术的试验田,率先采用Wayland、PipeWire、GNOME新版本等。

2.不同的内核版本

简单来说,Linux 内核(Linux Kernel)是整个 Linux 操作系统的核心程序和基础。 它充当着计算机硬件 和运行在它之上的应用程序之间的桥梁或翻译官。

为了更好地理解,我们用一个经典的比喻:

想象一下,一个操作系统就像一个完整的城市

  • 硬件 (CPU, 内存, 硬盘, 网卡...)是这个城市的基础设施:土地、发电厂、水库、道路系统。

  • 应用程序 (浏览器, 办公软件, 游戏...)是这个城市的居民和公司:他们想用电、用水、想在路上运输货物。

  • Linux 内核 ,就是这个城市的政府和市政管理系统

市政府(内核)的核心工作包括:

  1. 资源管理 :决定发电厂给谁供电、供多少电(CPU 时间分配 );决定水库的水分配给谁(内存管理 );规划土地用途(存储空间管理)。

  2. 进程调度 :像交通信号灯一样,决定哪条路上的车(进程)可以先走,确保所有车辆都能公平、高效地通行,不会堵死。

  3. 设备驱动 :为所有外来车辆(硬件设备,如U盘、摄像头)制定通行规则和接口标准,让它们能够使用城市的道路系统。

  4. 系统安全和隔离:像警察和防火墙,确保一个居民区的火灾(一个程序崩溃)不会蔓延到整个城市,保证坏蛋(恶意程序)不能为所欲为。

  5. 提供系统调用 :市政府开设了一个"政务服务大厅"(System Call Interface),所有居民和公司都必须通过这个大厅的标准化窗口来申请资源(如水、电、地),而不能直接去操作发电厂或水库。

首先我们可以查看自己的操作系统的内核版本,命令如下

bash 复制代码
uname -r

此时可以看到版本信息:

bash 复制代码
Last login: Mon Sep  8 18:17:47 2025 from ***
root@VM-12-14-ubuntu:~# uname -r
5.15.0-142-generic
  • 5主版本号 - 发生重大变更时才会改变,这往往伴随着内核源码的改变。

  • 15次版本号 - 在过去,奇数代表开发版 ,偶数代表稳定版。现在这个规则已不那么严格,但稳定版通常仍使用偶数。

  • 0修订版本号 - 代表当前版本的错误修复和安全补丁次数。

  • -142发行版补丁版本 - 这是你的发行版额外应用的补丁次数。Ubuntu/Debian 等会为它们选定的内核版本持续提供安全更新和驱动回溯。

  • generic发行版自定义标识 - 表示这是一个通用版本的内核。还可能有一些针对特定用途优化的版本,如 server, aws, azure, lowlatency

三.Linux的应用领域

Linux在服务器领域的发展

随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政府、金融、农业、交通、电信等国家关键领域。此外,考虑到Linux的快速成长性以及国家相关政策的扶持力度,Linux服务器产品一定能够冲击更大的服务器市场。

据权威部门统计,目前Linux在服务器领域已经占据75%的市场份额,同时,Linux在服务器市场的迅速崛起,已经引起全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。

Linux在桌面领域的发展

近年来,特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux、红旗Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu Linux,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。

Linux在移动嵌入式领域的发展

Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用,目前Linux以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上的。目前,Android已经成为全球最流行的智能手机操作系统,据2015年权威部门最新统计,Android操作系统的全球市场份额已达84.6%。

此外,思科在网络防火墙和路由器也使用了定制的Linux,阿里云也开发了一套基于Linux的操作系

统"YunOS",可用于智能手机、平板电脑和网络电视;常见的数字视频录像机、舞台灯光控制系统等都在逐渐采用定制版本的Linux来实现,而这一切均归功与Linux与开源的力量。

Linux在云计算/大数据领域的发展

互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源软件的平台,Linux占据了核心优势;据Linux基金会的研究,86%的企业已经使用Linux操作系统进行云计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大数据平台操作系统。

四.Linux的一个小小应用

Linux和我们熟知的Windows系统一样,他们都是多用户操作系统 ,也就是说我们可以在一台Linux机器上创建多个用户/用户组,并给予他们不同的权限。我们可以试着在命令行上写一段命令,创建一个新的非管理员(root)用户wujiaqi。

bash 复制代码
root@VM-12-14-ubuntu:~# adduser wujiaqi
Adding user `wujiaqi' ...
Adding new group `wujiaqi' (1004) ...
Adding new user `wujiaqi' (1003) with group `wujiaqi' ...
Creating home directory `/home/wujiaqi' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for wujiaqi
Enter the new value, or press ENTER for the default
	Full Name []:
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
chfn: name with non-ASCII characters: ''u j
Is the information correct? [Y/n] Y

可以看到此时的home目录中已经出现了我们刚刚创建的用户家目录文件wujiahao和wujiaqi

bash 复制代码
root@VM-12-14-ubuntu:~# cd /home
root@VM-12-14-ubuntu:/home# ll
total 24
drwxr-xr-x  6 root       root       4096 Sep  8 20:05 ./
drwxr-xr-x 20 root       root       4096 Sep  8 20:09 ../
drwxr-x---  2 lighthouse lighthouse 4096 Sep  7 20:53 lighthouse/
drwxr-x---  4 ubuntu     ubuntu     4096 Sep  7 20:53 ubuntu/
drwxr-x---  2 wujiahao   wujiahao   4096 Sep  8 18:51 wujiahao/
drwxr-x---  2 wujiaqi    wujiaqi    4096 Sep  8 20:05 wujiaqi/
root@VM-12-14-ubuntu:/home# 

//或者用tree命令,可以更加清晰地看到文件系统结构
root@VM-12-14-ubuntu:/home# tree
.
├── lighthouse
├── ubuntu
├── wujiahao
└── wujiaqi

具体的文件系统和更多内容,下篇文章再见。

相关推荐
寂柒2 小时前
信号量——基于环形队列的生产消费模型
linux·ubuntu
一袋米扛几楼983 小时前
【密码学】CrypTool2 工具是什么?
服务器·网络·密码学
vin_zheng5 小时前
破解企业安全软件网络拦截实战记录
运维
林姜泽樾6 小时前
Linux入门第十二章,创建用户、用户组、主组附加组等相关知识详解
linux·运维·服务器·centos
xiaokangzhe7 小时前
Linux系统安全
linux·运维·系统安全
feng一样的男子7 小时前
NFS 扩展属性 (xattr) 提示操作不支持解决方案
linux·go
南棱笑笑生7 小时前
20260310在瑞芯微原厂RK3576的Android14查看系统休眠时间
服务器·网络·数据库·rockchip
xiaokangzhe7 小时前
Nginx核心功能
运维·nginx
松果1777 小时前
以本地时钟为源的时间服务器
运维·chrony·时间服务器
XDHCOM8 小时前
ORA-32152报错咋整啊,数据库操作遇到null number问题远程帮忙修复
服务器·数据库·oracle