【Linux】【系统纪元】Linux起源与环境安装
文章目录
- 一、Linux的起源
- 1.1 计算机硬件
- 1.2 计算机软件
- 二、Linux的环境安装
- 2.1 安装方式
- 2.2 安装版本
- 2.3 安装过程
- 2.4 远程登录
- 三、Linux的应用场景
一、Linux的起源
1.1 计算机硬件
自1946年2月14日起,世界上第一台电子计算机 ENIAC
诞生,计算机硬件的发展正式拉开篇章。当时计算机体型庞大,其目的也是用来计算导弹的弹道轨迹等军事用途,由政府和军方投资,研究机构和高校研究来共同推动。而当时正值美苏冷战,大国之间开始军备竞赛,不断促进技术突破,从而推动计算机小型化
的发展。
政府和军方不计成本地投资源源不断的项目,导致资金开始不足。为了保持高效的可持续发展,政府和军方开始下放技术,推动技术商业化、民用化
。而商业化的前提也需要大量的资金,这个资金就可以从金融市场中进行获取(如华尔街)。商人有了技术和资金,就孵化出了一批产品(计算机 + 操作系统),随着产品迈向全球,其过程中催生出大量的公司(如苹果,微软)。
而在产品商业化的过程中,政府通过税收的方式,进行资金回流,实现了一套可执行的循环体系,而这种模式称为硅谷模式
。
1.2 计算机软件
当时IBM公司认为计算机主要是提供给大型企业、高校和科研机构的,普通人不可能用得起计算机。而苹果和微软都认为计算机将来会小型化,出现在每一个人的桌面上,并且摩尔定律
也预言了计算机的飞速小型化发展。
IBM 专注于硬件制造,搭载了Unix
操作系统,而苹果兼顾硬件和软件,研发了Mac
操作系统,微软纯粹致力于软件,研发了Windows
操作系统。由于微软缺乏硬件,所以和英特尔合作,再将其他部件外包给一大堆计算机制造商,成本较低,主打性价比。而苹果电脑往往质量高,价格也贵。
而在1991年就读于赫尔辛基大学的Linus,使用了搭载Unix的计算机,开始对Unix产生浓厚兴趣,尝试着在Minix(Unix的变种)上做一些开发工作。因为当时Unix是付费版的商业操作系统,Linus就想自己制作一个免费开源
的操作系统,于是自己写了1.1万行代码的操作系统内核,开源到网络上,并命名为Linux
(Linux is not Unix)。
而这一开源先锋的行为,迅速吸引世界上顶尖的黑客和工程师,以及收费操作系统的对抗者无偿参与项目研发,使得Linux内核版本不断迭代与更新,并衍生出一系列商业发行版(如Debian、Ubuntu、Centos等)。
GNU通用公共许可协议(GNU General Public License,简称GNU GPL或GPL),是一个广泛被使用的自由软件许可协议条款,最初由理查德斯托曼为GNU计划而撰写, GPL给予了计算机程序自由软件的定义,任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码。
Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。随着Linux操作系统飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此, Linux也成为了开源软件的代名词。
二、Linux的环境安装
2.1 安装方式
- 裸机安装或双系统 —— 不推荐
- 虚拟机安装 ——不推荐
- 云服务器 —— 推荐(安装简单,维护成本低,仿真)
2.2 安装版本
选用CentOS
商业版本,因为大多数互联网企业后端都选用CentOS版本的Linux环境,方便以后在企业中快速适应和无缝衔接。选择7.6/7.8/7.9版本。
2.3 安装过程
目前市面上有腾讯云、阿里云和华为云等平台,可以提供云服务器服务。关于配置,直接买最便宜
的即可,因为单纯学习指令和打代码根本用不到什么空间。初次买和学生身份能优惠很多。
这里以我自身举例,购买的是华为云的38元套餐。链接放在文章结尾处。
首先打开华为云主页,鼠标停靠在活动页面,选择惠普上云专区。
进入专区后,下滑至每日限时秒杀,选择最左边的38元套餐。
要先进行账号注册并实名认证,才能进行购买。购买时选取离自己位置最近的区域进行服务即可。
购买后,在控制台就可以找到自己的云服务器主机了。记住一定要重置密码!!!记住一定要重置密码!!!记住一定要重置密码!!!密码要设置的比较复杂,因为有人会恶意的不断扫描云服务器主机,尝试破解,如果设置的太简单,一下就会被破解。
接下来下载Xshell(XShell 是一个远程终端软件),拉至最底端,选择家庭/学校免费下载。
2.4 远程登录
打开Xshell,输入ssh root@,后接你的云服务器的公网ip(在控制台可以查看),接着弹窗出来输入刚刚重置好的密码,接收并保存即可。这样就进入了Linux环境。
三、Linux的应用场景
- 服务器操作系统
- Web服务器:Linux是许多Web服务器的首选操作系统,例如Apache、Nginx等。
- 数据库服务器:MySQL、PostgreSQL等数据库管理系统在Linux上运行非常稳定。
- 邮件服务器:Postfix、Sendmail等邮件服务器软件在Linux平台上广泛使用。
- 文件服务器:通过Samba、NFS等服务,Linux可以作为强大的文件服务器。
- 云计算和虚拟化
- 云服务提供商:亚马逊AWS、谷歌GCP、微软Azure等许多云服务提供商都大量使用Linux作为其基础设施的一部分。
- 虚拟化:KVM、Xen等虚拟化技术广泛应用于Linux系统上,用于创建和管理虚拟机。
- 桌面操作系统
- 个人电脑:尽管市场份额不如Windows和macOS,Linux(如Ubuntu、Fedora、Debian等发行版)仍被许多个人用户作为日常桌面操作系统。
- 专业工作站:许多开发人员、科学家和工程师使用Linux作为他们的主要工作站操作系统,利用其稳定性和强大的开发工具支持。
- 嵌入式系统
- 物联网设备:许多物联网设备(如智能家居设备、工业控制系统等)使用嵌入式Linux系统,如Raspberry Pi、Arduino等。
- 消费电子产品:许多智能电视、路由器和其他消费电子产品都运行嵌入式Linux系统。
- 移动设备
- Android操作系统:Android基于Linux内核,是全球最流行的移动操作系统。
- 网络设备
- 路由器和交换机:许多网络设备使用定制的Linux发行版来提供网络功能和管理。
- 防火墙和入侵检测系统:如iptables、Snort等安全工具在Linux上运行,提供网络安全功能。
- 科学计算和超级计算
- 超级计算机:全球大多数超级计算机都运行Linux,利用其高度可定制性和稳定性。
- 高性能计算:许多研究机构和大学使用Linux进行高性能计算任务。
- 教育和研究
- 编程和开发教学:Linux广泛应用于计算机科学和软件工程的教学中,提供了一个开放和透明的环境供学生学习和实验。
- 研究项目:许多科研项目使用Linux作为其主要开发和运行平台,特别是在数据分析、机器学习和人工智能领域。
- 安全和黑客工具
- 渗透测试:如Kali Linux、Parrot OS等专门为安全研究和渗透测试设计的Linux发行版被广泛使用。
- 黑客工具:许多开源的黑客工具和安全分析工具都在Linux环境下开发和运行。
Linux以其开源、稳定、安全和高度可定制的特性,在上述各个领域中都有广泛的应用。无论是企业、个人开发者,还是研究机构,Linux都提供了强大而灵活的解决方案。
华为云:https://activity.huaweicloud.com/discount_area_v5/index.html
Xshell:https://www.xshell.com/zh/xshell/
相关文章:

【Linux】【系统纪元】Linux起源与环境安装
快乐的流畅:个人主页 个人专栏:《C游记》《进击的C》《Linux迷航》 远方有一堆篝火,在为久候之人燃烧! 文章目录 一、Linux的起源1.1 计算机硬件1.2 计算机软件 二、Linux的环境安装2.1 安装方式2.2 安装版本2.3 安装过程2.4 远程…...
Android笔试面试题AI答之Activity(9)
文章目录 1.如何在Application中获取当前Activity实例 ?方法一:使用全局变量或单例方法二:使用LocalBroadcastManager或EventBus方法三:通过Fragment方法四:使用Service和Intent注意事项 2.Activity A跳转Activity B&a…...
什么是嵌入式
1、什么是嵌入式 对专用设备的控制,把不需要的功能能够裁剪、删除,适配于专用设备,就叫做嵌入式(也叫做嵌入式系统) 嵌入式系统定义:用于控制、监视或者辅助机器和设备的运行 一个嵌入式系统由硬件和软件…...

SAM 2:Segment Anything in Images and Videos 论文详解
SAM 2:Segment Anything in Images and Videos 文章目录 SAM 2:Segment Anything in Images and Videos摘要1 Introduction具体分析 2 Related work具体分析: 3 任务:可提示的视觉分割4 模型具体分析具体分析 5 数据5.1 Data engine5.2 SA - V数据集 6 Z…...
PYTHON专题-(10)基操之我要玩并发
什么是并发? 并发指的是两个或多个事件在同一时间间隔内发生。在计算机科学中,并发通常指的是一个程序同时执行多个独立的任务。这些任务可以同时进行,而不会相互干扰或阻塞彼此。并发可以提高程序的执行效率和资源利用率,但也需要…...

双指针实现删除字符串中的所有相邻重复项
class Solution:def removeDuplicates(self, s: str) -> str:res list(s)slow fast 0length len(res)while fast < length:# 如果一样直接换,不一样会把后面的填在slow的位置res[slow] res[fast]# 如果发现和前一个一样,就退一格指针if slow …...

vue(vue2和vue3)项目打包去除console.log
1.Vue2去除 module.exports { configureWebpack: (config) > {// 取消console打印config.optimization.minimizer[0].options.terserOptions.compress.drop_console truereturn {name: "项目名称",resolve: {alias: {"": resolve("src")}}…...

Visual Studio 2022社区版、专业版、企业版功能对比表
https://visualstudio.microsoft.com/zh-hans/vs/compare/...
Codeforces 888 div3 A-G
A. Escalator Conversations 分析 二者身高差为k的倍数且不超过m-1倍,身高差不能为0(即不能在同一个阶梯) C代码 #include<iostream> using namespace std; void solve(){int n,m,k,H,ans0;cin>>n>>m>>k>>H;…...

IDEA如何去掉编辑框右侧的竖线
打开 IntelliJ Idea 软件 依次找到 File—>Settings—>Editor—>General—>Appearance 去掉勾选 Show hard wrap and visual guides (configured in Code Style options)...

3DCoat v2023 激活版下载与安装教程 (数字雕刻程序)
前言 3DCoat 是一款数字雕塑软件,由乌克兰开发。该软件专注于游戏模型的细节设计,集三维模型实时纹理绘制和细节雕刻功能为一身,可以加速细节设计流程,在更短的时间内创造出更多的内容。 一、下载地址 下载链接:分享…...
【Unity/XLua】xlua自带教程示例分析(一)——打印Hello world
第一步 创建Monobehavior脚本 public class Helloworld : MonoBehaviour {void Start(){} }第二步 在类中或Start函数中创建Lua虚拟机环境 LuaEnv luaenv new LuaEnv();第三步 使用LuaEnv的DoString方法直接运行字符串存储的lua语句(字符串前使用可强制不进行转义…...

虚拟机(VMware16)安装rocky9.2详细过程,附镜像下载链接
rocky官方站点 链接: 官方站点 rocky9.2镜像下载路径 链接: Rocky-x86_64-dvd.iso 打开虚拟机,选择新建虚拟机 新建虚拟机 选择典型 由于VMware16没有rocky的版本,所以我们这里选择其他liunx 5.x 内核 64位 因为rocky9默认内核版本就是5开头的…...

C语言新手小白详细教程(6)函数
希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,点赞 关注 收藏支持一下笔者吧~ 阅读指南: 开篇说明为什么要使用函数?1.定义一个函数2.调用函数3.定义函数详解 开篇说明 截止目前,我们已…...
力扣1488.避免洪水泛滥
力扣1488.避免洪水泛滥 贪心 二分 将所有晴天存入集合用哈希表存每次池子上一次下雨的日期当下雨并且池子满了时,二分找到上一次下雨之后最近的晴天 class Solution {unordered_map<int,int> mp;public:vector<int> avoidFlood(vector<int>&a…...
System类、BigDecimal类、Calendar类 用法详解
System类 System 类是Java中的一个核心类,提供了访问与系统相关的一些属性和方法。它包含了一些静态字段和静态方法,用于获取系统的标准输入、标准输出、标准错误流,以及加载动态链接库和系统属性等功能。 常见方法: public stat…...

SQLTools插件下载与使用说明
SQLTools是一个专注于SQL优化与管理的plsql developer插件,目的是把一些常用的SQL收集在一起,方便快速解决问题,提高工作效率。 当在SQL或PACKAGE窗口,或者选中表时,会有两个右键菜单: SQLTools聚焦在SQL方面…...

【人脸识别】数据集宝藏合集,速看!
本文将为您介绍10个经典、热门的数据集,希望对您在选择适合的数据集时有所帮助。 1 26,090张人脸肤质缺陷采集数据【数据堂】 发布方: 数据堂(北京)科技股份有限公司 发布时间: 2021 简介: 26,090张人脸…...

mysql操作(进阶)
1.数据库约束 数据库自动对数据的合法性进行校验检查的一系列机制,目的是为了保证数据库中能够避免被插入或者修改一些非法数据。 (1)mysql中提供了以下的约束: a.NOT NULL:指定某列不能为null b.UNIQUE࿱…...

[000-01-025].第07节:WorkBench
我的后端学习大纲 我的Drools学习大纲 8. WorkBench 8.1 WorkBench简介: 1.WorkBench是KIE组件中的元素,也称为KIE-WB,是Drools-WB与JBPM-WB的结合体。它是一个可视化的规则编辑器。WorkBench其实就是一个war包,安装到tomcat中就可以运行。…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...