你知道Linux操作系统的前世今生吗?Linux系统又该如何搭建呢?
文章目录
- 前言
- 1. Linux 是什么
- 1.1 Unix & Linux 发展历程图
- 1.2 Linux 的发展
- 1.3 Linux 的发行版
- 2. Linux 环境搭建
- 2.1 环境搭建方式
- 2.2 使用云服务器
- 3. 使用终端软件连接到 Linux
- 3.1 什么是终端软件
- 3.2 下载安装 XShell
- 3.3 使用 XShell 登陆主机
- 总结
前言
可能很多人都会有一个疑问, 真正的搞出一个网站来, 是如何让这个王章被别人访问到的? 如 Tomcat 服务器, 难道其他人都能使用 127.0.0.1:8080 来访问到你的网站吗? 答案显然不是的. 这就需要我们通过搭建服务器来实现了 (或购买云服务器), 而服务器中的操作系统绝大多数都是使用的 Linux 系统, 与我们通常使用的 Windows 差异很大, 是通过命令行进行操作的. 那么 Linux 是如何诞生的呢? 又是如何发展至今的? 本文来聊一聊.
关注收藏, 开始学习吧🧐
1. Linux 是什么
Linux 是一个操作系统, 和 Windows 是 “齐驱并驾” 的关系.
当今市面上常见的操作系统:
- Windows
- Linux
- macOS
- Android
- iOS
与其余系统不同, Linux 系统是一般用户(非计算机专业) 基本不会使用到的, 与别的操作系统(采用的是图形化界面)不同, 它的操作方式全部采用命令行来进行, 并不太适合日常使用, 但是非常适合用于开发. 作为一个开发人员, 无论是搞 后端 / 前端 / 客户端 / 测试 / 运维 / 网络 等等一系列的人员, Linux 都是务必要掌握切要能熟练使用的一个系统.
1.1 Unix & Linux 发展历程图

-
1969-1970 年, 贝尔实验室的 Dennis Ritchie (上图) 和 Ken Tompson (下图) 开发了 Unix 操作系
统.


-
Unix 火了之后, 衍生出很多的分支. 其中有一只为 “Minix”. 由荷兰的Andrew S. Tanenbaum 教授
开发. MINIX 含义为 “小型的UNIX”, 源代码开放给大学教学和研究工作.

-
1991 年, 还在读大学的 芬兰人 Linus Benedict Torvalds (1969年12月28日出生, 当时 22 岁) 基于
Minix 的启发, 开发出了 Linux 的第一个版本.

1.2 Linux 的发展
1991年, 可以认为是 “计算机领域奇迹年”, Linux, Python, Qt, Vim, OpenGL…都是出自这一年. Linux 也是这一年诞生, Linus 大佬在读研究生时闲着无聊, 写了个操作系统来玩. 万万没想到, 这个系统就火了, 因为它是开源, 免费的.
Linux 出现之前, 比较火的系统比如 Unix(其实就是 Linux 的前身), 虽然是开源的, 但是收费. 其余操作系统有的闭源, 有的收费, 所以当出现了一个开源免费的 Linux 后, 很多当时的大牛都加入其中, 为 Linux 的发展贡献出自己的一份力量, 这使 Linux 快速迭代, 从刚开始一个并不大, 功能也不是很丰富的系统, 摇身一变, 成一个庞然大物了.
后来, 为了能够很好的进行多人协同开发, Linus 大佬又顺手开发另一个大名鼎鼎的东西, git 开发工具软件, 可以管理代码版本, 协同多人进行开发.
再后来 Linus 大佬还写了一个自传, 叫做 《Just For Fun》, 这书名什么意思就不用我多解释了吧(滑稽).
时过境迁, Linux 已经发展成为 世界第一大操作系统. 连 Android 系统的内核都是基于 Linux 来实现的. 以下领域, Linux 都有参与.
- 服务器领域.
- 嵌入式设备, 现在的智能设备, 包括但不限于空调, 洗衣机, 冰箱, 路由器, 里面都需要有一个操作系统来支持.
- 移动端, Android 本质上就是 Linux.
补充一下:
Linux 也有桌面的版本, 但体验上很差, 使用起来感觉比 Windows 的桌面水平落后十年(不夸张), 所以还是老老实实使用命令行吧.
1.3 Linux 的发行版
Linux 严格意义来说只是一个 “操作系统内核”(提供最核心的功能, 管理硬件设备, 给软件提供稳定的运行环境).
一个完整的操作系统 = 操作系统内核 + 配套的应用程序.
由于 Linux 是一个完全开源免费的内核, 因此有些公司/开源组织又基于 Linux 内核, 提供了不同的配套程序. 这就构成了不同的 “发行版”.
这些发行版也大同小异, 命令几乎都是一样的, 个别不同, 掌握其中一个, 其他的也就很容易快速上手.

企业中最主要使用的发行版是 RedHat (红帽). 但是 RedHat 是一个收费的系统(报价参考 https://www.redhat.com/en/store/linux-platforms?intcmp=701f20000012m33AAA).
由于红帽是收费的, 不适合我们学习使用, 在此推荐两个别的选择.
CentOS, 和 RedHat 几乎一模一样, 就是拿着 RedHat 的源码换个 logo, 重新编译了一下.
CentOS 和 RedHat 的关系
RedHat一直都提供源代码的发行方式,CentOS就是将RedHat发行的源代码去掉 RedHat 的 logo 商标, 重新编译一次.
RedHat对这种发行版的态度是:“我们其实并不反对这种发行版,真正向我们付费的用户,他们重视的并不是系统本身,而是我们所提供的商业服务。”
所以,CentOS可以得到RedHat的所有功能,甚至是更好的软件。但CentOS并不向用户提供商业支持,当然也不负上任何商业责任。
Ubuntu, 比较知名的一个老牌系统, 在企业端使用份额虽然不是很高, 但在社区里还是挺火的.
2. Linux 环境搭建
要想学习使用 Linux , 需要先有一个 Linux 的环境. 如何获取 Linux 环境呢?
2.1 环境搭建方式
主要有四种:
- 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好. [不推荐].
- 使用虚拟机软件, 用软件去模拟硬件. 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件多多少少存在一些 bug , 会导致环境上出现各种莫名其妙的问题, 比较折腾. 并且虚拟机无法拥有一个外网 IP 地址. [非常不推荐]
- 使用 WSL (Windows Subsystem for Linux). 这个是 Windows 近几年开发的新功能, 在 Windows 系统内集成了一个 Linux. 目前成熟度还是挺高的, 但也无法拥有外网 IP. [暂时不推荐]
- 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器, 相当于租了一台电脑, 完美解决了怎么获得外网 IP 的问题, 学生购买还有大幅度优惠. [推荐]
使用云服务器不仅环境搭建简单, 避免折腾, 同时还有一个最大的好处, 部署在云服务器上的项目可以直接被外网访问到, 这个时候就和一个公司发布一个正式的网站没有任何区别. 也就能让我们自己写的程序真的去给别人去使用.
2.2 使用云服务器
在此我们不具体演示如何去购买一个云服务器, 因为各大云服务器厂商的价格也不相同, 读者可以自行查看购买, 购买也很简单, 挑价格便宜的买就行, 毕竟目前我们的服务器也不需要配置很高.
给大家提供一下三大云服务器厂商的官网, 可自行挑选购买.
- 腾讯云
- 阿里云
- 华为云
3. 使用终端软件连接到 Linux
3.1 什么是终端软件
终端软件是一类工具软件, 可以和远程的主机建立网络连接, 从而对主机进行一些操作.
常见的终端软件:
- XShell
- Putty
- MobaXTerm
- Iterm2
- SecureCRT
…
推荐大家下载使用 XShell, 功能能加丰富.
3.2 下载安装 XShell
下载地址: https://www.xshell.com/zh/xshell/



点击下载之后, 就可以一路 next 了.
3.3 使用 XShell 登陆主机
打开 XShell. 通过云服务器提供的外网 IP, 连接云服务器.

关于XShell 下的复制粘贴
- 复制:
ctrl + insert(有些笔记本的 insert 需要配合Fn来按) - 粘贴:
shift + insert
总结
✨ 本文主要讲解了 Linux 系统的发展历程, 并且讲了如何搭建一个 Linux 环境, 如何使用终端软件连接 Linux.
✨ 想了解更多知识, 请持续关注博主, 本人会不断更新学习记录, 跟随我一起不断学习.
✨ 感谢你们的耐心阅读, 博主本人也是一名学生, 也还有需要很多学习的东西. 写这篇文章是以本人所学内容为基础, 日后也会不断更新自己的学习记录, 我们一起努力进步, 变得优秀, 小小菜鸟, 也能有大大梦想, 关注我, 一起学习.
再次感谢你们的阅读, 你们的鼓励是我创作的最大动力!!!!!
相关文章:
你知道Linux操作系统的前世今生吗?Linux系统又该如何搭建呢?
文章目录 前言1. Linux 是什么1.1 Unix & Linux 发展历程图1.2 Linux 的发展1.3 Linux 的发行版 2. Linux 环境搭建2.1 环境搭建方式2.2 使用云服务器 3. 使用终端软件连接到 Linux3.1 什么是终端软件3.2 下载安装 XShell3.3 使用 XShell 登陆主机 总结 前言 可能很多人都…...
674. 最长连续递增序列
给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l < i < r,都有 nums[i] < nums[i 1] &a…...
DS5上ARM编译器样例工程改为GCC编译
想问一下,DS5上ARM编译器通过的样例工程,换成aarch64-none-elf-gcc工具链,是不是需要把startup.S改成gcc支持的格式呀?怎么改呢,求助大神们指点一下!谢谢!...
关于Unity Time.deltaTime的理解和使用
Unity中的Time.deltaTime是一个表示上一帧到当前帧所用时间的浮点数。 它可以让Unity应用程序能够以平滑的方式在不同的帧率下运行。 要深刻理解Time.deltaTime,首先得了解Unity引擎得工作原理。 Unity引擎以每秒帧数(FPS)的形式运行。 比…...
Vue3 配置全局 scss 变量
variables.scss $color: #0c8ce9;vite.config.ts // 全局css变量css: {preprocessorOptions: {scss: {additionalData: import "/styles/variables.scss";,},},},.vue 文件使用...
45.120.101.X 如何找出网站建设中弱点和漏洞
漏洞扫描服务(Vulnerability Scan Service)集Web漏洞扫描、操作系统漏洞扫描、资产内容合规检测、配置基线扫描、弱密码检测五大核心功能,自动发现网站或服务器在网络中的安全风险,为云上业务提供多维度的安全检测服务,…...
linux 下打印堆栈信息 jstack pstack gstack 有啥区别?分别的使用场景是啥?
jstack、pstack和gstack是在Linux系统下用于打印堆栈信息的工具,它们的使用场景和功能略有不同。 jstack:jstack是Java虚拟机自带的工具,用于打印Java进程的堆栈信息。它可以显示Java线程的状态、锁信息、线程堆栈等。jstack主要用于诊断Java…...
Vue 3实战:打造交互丰富的任务管理应用
Vue 3实战:打造交互丰富的任务管理应用 前言搭建Vue 3项目步骤 1: 安装Vue CLI 3步骤 2: 创建Vue 3项目步骤 3: 进入项目目录步骤 4: 启动项目步骤 5: 查看项目结构 组件设计与复用1. **组件的职责单一化:**2. **Props传递:**3. **插槽(Slots)…...
python之列表
列表常用操作 l [1,2,3,4,5]# 列表之切片 l1 l[:3] print(l1) # [1, 2, 3],结果为下标0到2 l2 l[3:] print(l2) # [4, 5] ,从下标3开始直到结束 l3 l[1:-1] print(l3) # [2, 3, 4] , 去头去尾...
想要保护服务器的安全,使用哪个软件比较好?
随着互联网的发展普及,网络安全问题也越发凸显,相信不少使用服务器的用户,有遇到过或是听过服务器被入侵导致数据丢失或是被植入病毒木马程序被用来挖矿的情况。那么面对这类情况,我们该如何做好安全工作来保障我们服务器的使用安…...
gitlab图形化界面使用
gitlab使用 创建用户 上面是创建用户基本操作 修改密码 创建组 给组添加用户 创建项目 选择空白项目 退出root用户,切换其他用户 在服务器上创建ssh密钥 使用ssh-ketgen 命令 新服务器上创建的 [rootgitlab ~]# ssh-keygen Generating public/private rsa key …...
Vue使用基本教程(基本介绍及对比,初步使用,构建项目,编辑器等)
一、Vue及与其他前端框架的异同。 Vue.js(通常简称为Vue)是一个用于构建用户界面的渐进式JavaScript框架。它专注于视图层,采用简单的API设计,使得开发者能够更轻松地构建交互式的单页面应用(SPA)和用户界…...
基恩士软件的基本操作(四,快速编辑plc技巧)
目录 单元软原件注释快速添加 双击单元配置,进入单元编辑器 KV一键添加注释 双击软元件注释 进入软元件编辑界面 ,对弹出的列表中软元件打勾点击登录 元件注释就自动添加了 注释收索,快速编辑软元件 自定义注释收索 空软元件快速查找 …...
通达信的ebk文件
我们在通达信软件中 调出 “自定义板块设置” 这个菜单,点击“导出”,会提示你存储 “自选股.EBK”,其实就是对自定义板块里的目录进行备份的一种方式, 当我们打开 这个文件,你会发现其实就是存储了 股票代码ÿ…...
城市易涝点怎么安装万宾科技内涝积水监测仪?
城市内涝是多个城市广泛存在的问题,经常给城市的居民和基础设施带来一些安全威胁。暴雨引发的道路积水和交通中断、财产损失,甚至公共安全威胁都是城市管理者需要提前预防的问题。为了解决这些问题,内涝积水监测仪的应用是一大重要的举措&…...
css取消移动端长按元素背景色
在开发微信小程序的时候,发现有的元素长按之后,出现了讨厌人的背景色,这就很奇怪,就想把它去掉,所以这里教一下方法: 在所在元素添加css样式: // 取消长按的背景色-webkit-tap-highlight-color:…...
inBuilder低代码平台新特性推荐-第九期
各位知乎的友友们,大家好~ 今天来给大家带来的是inBuilder低代码平台特性推荐系列第九期——子表弹出新增! 01 概述 子表弹出新增,是低代码平台提供的一种前端输入组件,在子表字段较多的场景中,有时为了方便…...
C语言——递归实现汉诺塔游戏
归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言📝 比别人多一点努力,你…...
使用MONAI轻松加载医学公开数据集,包括医学分割十项全能挑战数据集和MedMNIST分类数据集
在深度学习中,使用公开数据集具有以下优点: 提供了一个标准化的基准来比较不同算法或模型的性能,因为这些公共数据集被广泛使用,许多研究人员都使用它们来评估他们的方法。可以节省大量的时间和金钱,因为这些数据集已…...
dvwa 代码注入impossible代码审计
dvwa 代码注入impossible代码审计 <?phpif( isset( $_POST[ Submit ] ) ) {// Check Anti-CSRF tokencheckToken( $_REQUEST[ user_token ], $_SESSION[ session_token ], index.php ); // 检查token值是否正确// Get input$target $_REQUEST[ ip ]; $target stripslas…...
账户维护、登出与多模态文件独立接口
1)登出:Header 或 Query 传 TokenPostMapping("/logout")public Result<Void> logout(RequestHeader(value "Authorization", required false) String authorization,RequestParam(value "token", required fal…...
认识BLE MESH架构和实际开发过程
基础参考: BLE MESH基础知识总结-CSDN博客 架构概述 传统蓝牙的Host/Controller架构,在Mesh协议栈中被完整保留了。 Mesh并非抛弃了这一经典架构,而是在其基础之上,新增了一套独立的网络层。简单来说,它是在同一个地基…...
从VL53L0X到VL53L1X:在GD32F470上移植ST新一代TOF模块,我踩了哪些坑?
VL53L1X在GD32F470上的深度移植实战:从硬件对接到性能调优 当我们需要在嵌入式系统中实现精确测距时,ST的VL53L1X无疑是当前最具性价比的解决方案之一。作为VL53L0X的升级版本,它不仅保持了原有的小体积和低成本优势,更将最大测距…...
FeedOracle v6.0:为AI Agent构建可验证合规证据的自治预言机网络
1. 项目概述:从合规服务器到自治预言机网络的蜕变如果你正在构建或使用AI Agent来处理金融、法律或任何受监管的业务,那么“合规证据”这个痛点你一定不陌生。Agent可以帮你分析数据、生成报告,但如何向审计方、监管机构甚至法庭证明…...
LogCabin数据模型揭秘:Tree结构在分布式存储中的应用
LogCabin数据模型揭秘:Tree结构在分布式存储中的应用 【免费下载链接】logcabin LogCabin is a distributed storage system built on Raft that provides a small amount of highly replicated, consistent storage. It is a reliable place for other distributed…...
如何在Voxelman中使用Burst Compiler加速计算:提升Unity DOTS性能的终极指南
如何在Voxelman中使用Burst Compiler加速计算:提升Unity DOTS性能的终极指南 【免费下载链接】Voxelman Unity DOTS/ECS example 项目地址: https://gitcode.com/gh_mirrors/vo/Voxelman Voxelman作为Unity DOTS/ECS示例项目,展示了高效的实体组件…...
AI矢量字形生成技术:从自然语言到可编辑SVG
1. 项目背景与核心价值去年在设计一款多语言APP时,我遇到了一个棘手问题:需要为8种语言生成风格统一的矢量字形,但传统字体设计工具效率极低。当时就萌生了"能否用AI直接生成矢量字形"的想法,而VecGlypher正是这个痛点的…...
判断AI回答内容真伪的系统分析方法
一、核心挑战 AI生成的内容存在几类典型问题: 幻觉(Hallucination):AI以高置信度输出不存在的事实、引用、数据 过时信息:训练数据有截止日期,输出可能已失效 混淆性正确:大方向对,…...
飞书文档导出实用指南:告别云端依赖的完整备份解决方案
飞书文档导出实用指南:告别云端依赖的完整备份解决方案 【免费下载链接】feishu-doc-export 飞书文档导出服务 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export 在数字化办公时代,飞书已成为众多团队的核心协作平台。然而&#x…...
智慧树刷课插件终极指南:如何用自动化技术节省90%学习时间
智慧树刷课插件终极指南:如何用自动化技术节省90%学习时间 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台上的重复点击操作烦恼吗&#x…...
