当前位置: 首页 > news >正文

(一)Linux的历史与环境搭建

【知识预告】

  1. Linux背景介绍
  2. Linux操作系统特性
  3. Linux的应用场景
  4. Linux的发行版本
  5. 搭建Linux环境

1 Linux背景介绍

1.1 什么是Linux?

Linux是一种自由、开源的操作系统。严格来说,它是基于类Unix设计思想,旨在为用户提供稳定、安全、高效的计算环境。Linux诞生于20世纪90年代初,目前已广泛应用于服务器、个人电脑、智能设备等多个领域,成为现代信息社会的重要支撑。

1.2 计算机发展史

1946年2月24日,世界上第一台通用电子计算机——埃尼阿克(ENIAC)正式诞生。彼时,世界正处于美苏冷战时期,技术竞争异常激烈。计算机最初主要用于军事用途,典型应用是计算导弹弹道轨迹。
随着技术不断突破,摩尔定律(每18到24个月芯片上集成的晶体管数量将翻倍)逐渐显现,使得计算机体积迅速缩小、成本下降,计算机逐步走出军事用途,进入科研和工业领域。
由于军队本身缺乏足够的专业技术人才,政府出资,联合高校与研究机构共同进行研发。这种“出资+技术”的合作模式,大大加速了计算机技术的发展,也促进了计算机的产业化。随着技术成熟,越来越多的私人资本(如华尔街的资金和人才)进入,推动了第一批商业化计算机产品和操作系统的诞生。
政府则通过税收回流资金,形成了良性的技术创新和经济增长循环。

1.3 操作系统的故事

1.3.1 计算机硬件

早期计算机硬件主要由两大公司推动:IBM和苹果公司。

  • IBM以生产面向企业、高校和科研机构的大型机和工作站为主,操作系统主要采用UNIX系统,稳定、可靠,但昂贵。
  • 苹果公司则采取“软硬件一体化”的策略,自主开发硬件和操作系统(如Mac OS),以精良的设计和卓越的体验闻名,不过价格同样高昂,主要面向高端用户群体。

1.3.2 计算机软件

在软件领域,微软崛起,与英特尔(Intel)结盟,推出了兼容性更好、成本更低的个人电脑解决方案(即“Wintel联盟”)。微软主要提供操作系统(如DOS、Windows),通过授权模式迅速扩展市场,占领了大众消费市场。

1.4 Linux的诞生

在这样一个硬件和软件格局初步形成的时代背景下(一般的平民百姓都用不起电脑),1991年,芬兰赫尔辛基大学的21岁学生林纳斯·托瓦兹(Linus Torvalds)横空出世。他思考:能否开发一个免费的、人人可用的操作系统?
于是,他开始基于Minix系统的思想,自主开发一个新的内核,并将其命名为Linux(“Linux is not Unix”,取前四个字母,再加上x表示Unix家族)。
托瓦兹将Linux内核的源代码免费发布在互联网上,鼓励全球开发者共同参与修改和完善。这种开源协作模式迅速吸引了大批计算机爱好者、黑客、工程师的参与,推动了Linux快速成长。

1.5 开源 vs 闭源,谁更好

我开始认为闭源好,但是事实上,开源软件在保障质量方面具有天然优势。

首先,开源意味着源代码对所有人开放,任何开发者、黑客、研究人员都可以自由查看、审阅、测试甚至修改代码。这样一来,更多的专业人士参与其中,能够快速发现潜在的问题和安全漏洞。每多一个人审阅,系统的健壮性、安全性就增加一分。就像一个程序,如果只有少数开发者能接触到源代码,那么问题被发现和修复的速度就有限;而如果全球数百万开发者都能参与审阅和贡献,那么漏洞自然更容易暴露并被及时修补。

以Linux为例,由于其完全开源,吸引了全球范围内的优秀开发者持续关注和贡献。不仅有自由软件爱好者,还有许多曾在大型企业工作的高级工程师、研究人员也积极参与。他们有的是出于兴趣,有的是出于对现有商业模式的不满,还有的是为了推动技术进步。无论出于什么动机,开源社区中汇聚了大量具有极高专业水平的人才,这种力量远远超过了单一企业内部有限的资源。

当然,也有人认为闭源软件通过严格的内部管理、专业的测试流程,也能保持较高的软件质量。确实,像苹果、微软这样的公司拥有完善的开发和测试体系,闭源软件在某些特定场景下也非常优秀。但闭源模式下,源代码不能公开接受全球开发者的审视,问题的发现和修复主要依赖内部团队,因此在应对大规模漏洞、尤其是安全漏洞时,可能反应速度较慢,透明度也较低。

综合来看,开源并不是天然完美的,但在长期、大规模协作下,开源软件往往能实现更高的稳定性、安全性和可持续发展。Linux的发展就是最好的例证:从一个学生的小项目,成长为支撑全球互联网基础设施的核心系统,靠的正是开源模式下全球开发者共同打磨的力量。

2 Linux操作系统特性

  • 开源:源代码对所有人开放,允许自由查看、修改和分发。
  • 免费:绝大多数Linux发行版无需付费使用,降低了使用门槛。
  • 稳定可靠:在服务器、高性能计算等应用场景中表现优异,系统崩溃率极低。
  • 安全性高:由于众多开发者共同维护,漏洞能被快速发现和修复,安全性极高。
  • 高效性能:占用资源少,适用于各种硬件环境。

3 Linux的应用场景

  • 互联网公司的服务器后端:绝大多数网站和云服务(如谷歌、Facebook、亚马逊)后端服务器均基于Linux。
  • 智能设备操作系统:如Android系统就是基于Linux内核开发的,广泛应用于手机、智能电视、车载系统等。
  • 嵌入式系统:在工业控制、物联网、智能家居等领域,Linux也被广泛使用,因其高度可定制、资源占用少的特性极具优势。
  • 科研与高性能计算:超级计算机集群大多采用Linux系统,如全球Top500超级计算机中,超过90%运行的是Linux或其衍生系统。

4 Linux的发行版本

4.1 商业化版本

最早,Linux诞生于个人和开源社区,但随着Linux在服务器、超级计算机和企业后台系统中的应用越来越广泛,企业客户对稳定性、安全性、长期支持、合规性等提出了更高要求。于是,许多公司基于Linux内核开发出了商业化版本,以提供更加完善、稳定、可靠的解决方案,同时配套技术支持和服务。
Linux商业化版本的代表有:

  • Red Hat Enterprise Linux(RHEL):由Red Hat公司开发,是最早也是最成功的Linux商业化发行版之一。Red Hat通过提供稳定的软件版本、长期的技术支持、安全补丁和认证服务,构建了完整的企业级解决方案。Red Hat通过订阅制盈利,成为Linux商业化运营的典范。
  • SUSE Linux Enterprise Server(SLES):由德国SUSE公司开发,专注于企业服务器和大型数据中心应用,强调系统的可靠性与灵活性,在欧洲市场尤其受欢迎。
  • Ubuntu(特别是Ubuntu LTS版本):由Canonical公司维护,虽然基础版本免费,但Canonical通过提供企业支持服务(如服务器优化、云平台部署、安全更新)来实现商业变现,尤其在云计算领域影响力巨大。
  • Oracle Linux:由甲骨文公司推出,兼容Red Hat Enterprise Linux,主要面向需要使用Oracle数据库和企业应用的客户群体,强调高性能和高可用性。
  • CentOS(现已演变为CentOS Stream):虽然一开始是社区驱动的免费版本,但它是RHEL的下游版本,被许多企业作为成本更低的选择使用。现在CentOS Stream变成了RHEL的滚动开发版本,为RHEL做前期测试。
  • Amazon Linux:由亚马逊AWS推出,专门针对云环境进行了优化,深度集成了AWS平台,主要用于云服务器实例(EC2)。
    Linux商业版本
    后续我主要用Centos,7.6/7.8/7.9版本。

4.2 技术版本

浏览器搜The Linux Kernel Archives,然后点击HTTP,可以看Linux的技术版本。
在这里插入图片描述

5 搭建Linux环境

5.1 Linux 环境的搭建方式主要有三种

  1. 直接安装在物理机上(双操作系统), 但是由于 Linux 桌面使用起来非常不友好, 不推荐。
  2. 使用虚拟机软件, 将 Linux 搭建在虚拟机上。(不会,bug满天飞)
  3. 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器。(氪金,成为人民币玩家,也不贵,可以多个人共用一个账号)

使用云服务器不仅环境搭建简单, 避免折腾, 同时还有一个最大的好处, 部署在云服务器上的项目可以直接被外网访问到, 这个时候就和一个公司发布一个正式的网站没有任何区别。也就能让我们自己写的程序真的去给别人去使用。

5.2 购买云服务器

以阿里云为例, 其他的服务器厂商也是类似。

  1. 浏览器搜索阿里云。
  2. 登陆网站,买个最便宜的服务器。(2G够用了)
  3. 右上角点击控制台,然后更改密码。
  4. 在这里插入图片描述
  5. 记住公网IP地址,再下载一个Xhell 8(必须是最新版本)。

5.3 使用 XShell 远程登陆到 Linux

5.3.1 关于 Linux 桌面

Linux 启动进入图形化的桌面,这个东西以后就可以忘记了。 以后的工作中没有机会使用图形界面。

为什么工作中不使用Linux图形界面?

在实际的生产环境中,大部分Linux服务器、后台系统、云计算平台等几乎都是以命令行界面(CLI, Command Line Interface)为主,而不是图形界面(GUI, Graphical User Interface)。主要原因有:

  1. 图形界面需要消耗大量的系统资源(CPU、内存、硬盘空间等),而服务器的资源非常宝贵,优先要保证业务应用的性能和稳定性。命令行界面非常轻量,不需要加载冗余的图形组件,能够最大程度地节省资源。
  2. 图形界面涉及更多的软件层次(窗口管理器、图形驱动等),意味着潜在的漏洞、崩溃风险也更多。纯命令行系统架构简单,出错概率更低,安全性更高。 在对稳定性要求极高的服务器环境中,去除图形界面可以大幅降低系统故障率。
  3. 在工作中,服务器大多放置在远程机房,管理人员通过SSH等协议进行远程登录。命令行非常适合低带宽、高延迟的远程操作环境,而图形界面需要图像传输,网络开销大,效率低下。
  4. 对于熟悉Linux命令行的工程师来说,CLI操作可以实现更快、更精准、更自动化的管理,比如用脚本批量处理任务、自动化部署等等。命令行体现了专业水平,而图形界面虽然友好,但操作步骤繁琐,不适合大规模、高效率的工作场景。
  5. 在互联网公司、金融系统、云服务提供商等行业,使用命令行管理服务器已经是公认的标准实践。为了与行业规范接轨,新人必须适应无图形界面的环境。

在以后的工作中,我们面对的Linux系统,通常都是“纯净的命令行环境”。虽然在学习初期图形界面可以帮助理解和过渡,但真正走向职业工作,必须彻底掌握并习惯于命令行操作。忘记图形界面,拥抱命令行,是成为一名合格技术人员的重要一步。

5.3.2 使用Xshell登陆主机

Linux命令行

// ssh root@你的公网IP地址,这里我的地址是121.40.223.120
ssh root@121.40.223.120

然后就到了下一步,要你输入密码。
在这里插入图片描述
看到welcome就成功了。
在这里插入图片描述
如果要和别人共用一个账号。

// 命令行输入
adduser HYQ    // 补充用户名,然后按回车键
passwd HYQ     // 给新增的用户名,补充密码
// 然后系统会提示,New password:
// Retype new passworld:

注意:Linux命令行里面,密码不回显(不回显示出来)。
在这里插入图片描述
密码输入成功后,子账号就创建好了。

其它人就可以通过刚才创建的子账号,登陆你的云服务器了。登陆过程和上面一样,只不过这次是:

ssh HYQ@121.40.223.120       // 刚才是ssh root@121.40.223.120

在这里插入图片描述
密码输入成功后,和上面一样看见welcome,就可以正常使用服务器了。

// 按下Ctrl+Alt+],就可以退出子账号,就可以重新登陆root账号了
// 如果嫌弃前面的命令行太多,碍眼睛,可以输入clear清除上面的记录

如果你想更改子账号的密码,登陆root账号后,passwd HYQ就可以改密码。userdel -r HYQ就可以彻底删除这个子账号。
更改/删除子账号密码

相关文章:

  • 云原生--核心组件-容器篇-6-Docker核心之-镜像仓库(公共仓库,私有仓库,第三方仓库)
  • 香橙派打包qt文件报错“xcb 插件无法加载”与“QObject::moveToThread”线程错误的解决方案
  • 2.2.1goweb内置的 HTTP 处理程序
  • uniapp做app,使用v-for遍历渲染第二层的时候,打包到手机上渲染不出第二层的数据
  • 5G与边缘计算:协同发展,开启智慧世界新篇章
  • (云计算HCIP)HCIP全笔记(十三)本篇介绍虚拟化技术,内容包含:虚拟化资源、虚拟化过程、I/O虚拟化、虚拟化架构KVM和Xen介绍、主流虚拟化技术介绍
  • 终端管理系统如何助力企业简化IT管理?
  • stm32wb55rg (2) 阅读资料手册
  • 近地卫星网络 (Low Earth Orbit Satellite Networks)入门学习笔记
  • C++23 std::bind_back:一种调用包装器 (P2387R3)
  • Scratch——第20课 辗转相除法/绳子算法
  • FTP-网络文件服务器
  • Docker 容器虚拟化技术和自动化部署
  • Java面试:Spring及Spring Cloud技术深度剖析
  • 基于Springboot + vue + 爬虫实现的高考志愿智能推荐系统
  • Nacos源码—1.Nacos服务注册发现分析二
  • 驱动开发硬核特训 │ 深度解析 fixed regulator 驱动与 regulator_ops
  • Linux 命令行利用 speedtest 测速
  • MySQL 的覆盖索引是什么?
  • 8.Android(通过Manifest配置文件传递数据(meta-data))
  • 太好玩了!坐进大卫·霍克尼的敞篷车穿越他画笔下的四季
  • 柳州警方通报临牌车撞倒行人:扣留涉事车辆,行人无生命危险
  • 日韩 “打头阵”与美国贸易谈判,汽车、半导体产业忧虑重重
  • 央行副行长:研究建立民营中小企业增信制度,破解民营中小企业信用不足等融资制约
  • 新任海南琼海市委副书记陈明已主持市政府党组全面工作
  • 泽连斯基公布与特朗普会晤细节,强调实现全面、无条件停火