Linux《Linux简介与环境的搭建》

news2025/1/19 2:19:08

在学习了C++或者是C语言的基础知识之后就可以开始Linux的学习了,现在Linux无论是在服务器领域还是在桌面领域都被广泛的使用,所以Linxu也是我们学习编程的重要环节,在此接下来我们将会花大量的时间在Linxu的学习上。在学习Linux初期你可以会像初学C语言那时一样犯一些看起来较为低级的错误,这其实是很正常的,只要接下去多多练习,相信你一定能克服这一困难的时期。那么接下来我们就开始Linux第一个篇章的学习,在此我们将会了解到Linux的发展史以及Linux的优势,最后还会讲解如何搭建Linux的环境,一起加油吧!!!


1.Linux学习流程

从现在开始我们将开始Linux的学习,我们会先来学习Linux系统和系统编程,之后再学习Linux网络和网络编程,最后了解了Linux以上的基础知识之后接下来就可以开始MySQL的学习了,在此会将来会学习MySQL初阶和进阶学习,进阶是选学的内容。其他部分都是我们必须要掌握的。

 

 1.Linux的发展史

在此我要学习LInux这个操作系统就需要先来了解LInux的发展,但在了解Linux之前需要先来了解操作系统是如何产出的,而在了解操作系统之前还要大概了解计算机的发展史。

世界上第一台通用计算机是在1946年2月14宣告诞生,名为埃尼亚克

在此我们要知道的是像计算机这种高新技术的产品大多数都是由军工领域转到民用的,这是由于军工在投入大量的财力和时间进行先进技术和产品的研发之后为了实现持续的研发就会将一些已经不是机密级别的产品或者技术投入到民用;这样就可以获得更多的原始开发资金来进一步去研发更为先进的技术和产品。这种发展模式就被称为硅谷模式

计算机就是在如上所述的体系下产生的产品,投入到了民用领域之后就产生了大量的企业,例如IBM、苹果、intel等。

在计算机的发展过程中可以将计算机划分为大型计算机(超级计算机)和小型计算机,并且随着制程技术的发展民用的计算机就走向越来越小型化,桌面话的道路上。在小型计算机不断发展的过程当中,由于计算机是需要进行通信的,因此越来越多的通信厂商就发展起来就例如高通等。计算机在发展过程当中组成随着越来越复杂就要求软件上也要进行发展。在此操作系统就可以自动化对各个硬件进行管理。

在操作系统的发展发展当中也是分为两条路,一条是用在小型计算机上的操作系统,在此典型的系统就是Windows和macOS,这些系统都是为了让普通老百姓也能轻松的使用计算机而产生,在这当中macOS是搭载在苹果电脑上的,由于苹果既设计硬件又设计软件,最终的产品也是自己设计的,所以苹果i就是一个典型的产品公司;而Windows是由微软设计的,微软只负责设计操作系统,CPU等硬件是由intel等硬件公司设计的,最终的产品又是由联想等电脑厂商设计的。操作系统的另一条用于在大型计算机或者后台服务器上的系统,在上个世纪60年代较为代表性的操作系统就是Unix;这个操作系统是由肯汤姆森使用汇编语言写的。在此之后丹尼斯里奇发明了C语言之后就和肯汤姆森一起使用C语言重构了Unix

在技术普及到民用的过程当中最为重要的就是要使其进入教育领域,Unix在进入校园之后在一些大学的实验室得到广泛的使用。在1991年在赫尔辛基大学内雷纳斯托瓦兹在使用Unix之后就觉得这款操作系统由很多不足之处,之后他就自己写了一款操作系统并将其命名Linux。在此还将Linux开源,工程师、黑客等都可以免费使用Linux。

3.Linux的特点

由于Linux大部分是使用在的系统都是在服务器等领域使用的,因此Linux大部分的系统都是使用命令行来进行各种操作的,但也有一部分是带图形化界面的。

在Linux当中最大的特点其实就是Linux是开源的,从以下的网站就可以看到源代码

The Linux Kernel Archives

而现在其他的主流系统Window和macOS都是闭源的,那么开源相比闭源有什么优势呢?接下来我们就来了解看看

首先开源就注定能被更多的人看到和使用,那么对应社区的活跃度就更高,有问题就会被及时的发现和解决。并且在使用开源项目时大家都是没有利益冲突的,目的都是为了能让项目更好用更高效这就会让更多的工程师去发现问题并进行维护,因此开源的项目相比闭源就会更高效、更安全、更稳定。

4.Linux的应用场景

由于Linux的特性,原代码是公开的,那么Linux对应企业是更安全的。对于企业来说用户的数据是最为重要的,那么就需要服务器的系统是十分稳定安全的,这就和Linux的特性十分的吻合。
并且在企业当中还会使用Linux进行云计算和存储。

此外Linux默认是不带图形化界面的,那么系统内核就比较小,这就适合应用在嵌入式领域。

在苹果设计出macOS之后就将其移植到了手机上就产生了iOS,那么在这之后谷歌就十分担心苹果在手机市场上会将其的生态位抢走,这是因为在手机上苹果开源进行软件的预装这就使得用户的浏览器默认使用的就是苹果的浏览器,那么在手机上使用谷歌浏览器的用户就会大大减少,因此为了就将Linux移植到了手机上设计出了android(安卓)这个开源的手机操作系统,这样就可以与iOS抢占生态位。目前国内厂商小米的澎湃OS、vivo的oriainOS、oppo的colorOS都是基于安卓这个开源的系统设计出来的。而华为的鸿蒙Next就是彻底摆脱安卓产生的另一大操作系统,现在还在不断的完善当中。

因此Linux简单来说就有以下的使用场景:
1.企业
2.嵌入式
3.计算或者存储平台
4.设备,例如手机、平板、智能电视
5.车载系统
……

5.Linux的版本

在此在了解Linux的版本时要划分为技术线和商业产品线

在技术线上例如版本2.6.32、5.10.4、3.10.5,在此第一个数字就称为主版本号,第二个就称为次版本号,最后的数字就是修正次数。在此这些版本表示的是Linux对应的系统版本。

其实由于安卓是基于Linux的,因此在安卓手机当中也是可以看到对应的Linux系统版本的,例如以下示例:

在产品线上Linux就有非常多的版本,如下所示

在此就例如在centos当中centos6、centos6.5、centos7;ubuntu的ubuntu10.04、ubuntu11.04、ubuntu等的系统内核版本都是一样的

那么这时你可能就会有疑惑了,这些系统的版本的系统内核都是一样的那么这些商业的版本不就实际上是一样的吗?

这个问题其实就和我们使用抖音还是快手一样,不同的人在使用这些短视频软件时都会有自己的喜好,每个人的选择也各不相同。那就这些Linux的商业话系统也是这样的,不同的版本有不同的适用人群,就例如centos更多是企业当中的工程师子啊适用,那么相应的社区和论坛也保证企业服务器稳定为主的,而unbuntu由于图形化界面做的较好,那么就会吸引学生群体去适用,这就让其对应的社区和论坛大部分都是学生在安装或者学习上的解决方法。因此一个系统的差异不是在系统本身而是在系统的用户群体以及社区或者论坛上。

以下是Linux各个系统的大致简介:
Debian
Debian运行起来极其稳定,这使得它非常适合用于服务器。 debian这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。

Ubuntu
Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。Ubuntu是新手用户肯定爱不释手的一款操作系统。红帽企业级Linux 这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进行培训和认证。

CentOS
CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。
Fedora
小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。
Kali Linux
Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。Kali的前身是Backtrack。用于Debian的所有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计成立马可以使用。Kali使用APT来管理软件包。
毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客青睐的操作系统。
... ...

6.搭建 Linux 环境

在此Linux有三种方式

1. 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好, 不推荐.
2. 使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一些 bug , 会
导致环境上出现各种莫名其妙的问题, 比较折腾.
3. 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器.

在此以上当中推荐的云服务器,双系统以及虚拟机由于安装之后可能会有很多问题,非常不推荐

购买云服务器

在适用云服务器之前要先购买云服务器,接下来就来讲解

在此我较为推荐的是华为云,原因是价格较为实惠,最便宜的一年只要38,这个对我们初学者完全够用了

新春钜惠专场-华为云

购买了之后接下来就点击控制台

再点击华为云服务

再点击显示的云服务器

以上所示的公网 ip 地址, 稍后我们就会使用这个 ip 登陆服务器.

之后在云服务器内进行密码的设置,root 密码建议设置的稍微复杂一些, 否则容易被黑客入侵. 

小结:
在这个环节我们最重要的是得到三个信息:
1. 服务器的外网 IP
2. 服务器的管理员账户 (固定为 root)
3. 管理员账户密码(在华为云网站上设置的)
通过这三个信息就可以使用 XShell 远程登陆了.

7.使用 XShell 远程登陆到 Linux

在windows远程登入Linux之后接下来我们就要来学习如何远程登入我们购买的云服务器,在此推荐的是XShell,推荐的原因是免费且较为稳定

家庭/学校免费 - NetSarang Website

 在此XShell直接进入官网下载即可

那么下载安装了XSell之后就会出现以下的界面,将会话叉掉

在 XShell 终端下敲

ssh[ip]


ip 为刚才看到的 ifconfig 结果.
如果网络畅通, 将会提示输入用户名密码. 输入即可正确登陆

备注: 这里的用户名密码都是在最初购买服务器的时候设置的用户名密码

在XShell 下的复制粘贴如下所示
复制: ctrl + insert (有些同学的 insert 需要配合 fn 来按)
粘贴: shift + insert

在此在XSell内ctrl + c / ctrl + v 是不行的.

在以上这样每次登入XSell都要进行登入就显得较为麻烦那么接下来就来讲解一种方式来进行免密登入

首先在登入时创建一个项目

之后输入你的云服务器的公网ip,协议选择SSH,点击连接

输入用户名,点击记住用户名

再输入密码

但以上操作之后每次还是要输入密码,那么要免密登入就还要进行以下的操作

点击用户身份认证之后输入密码,再确认这样就可以直接连接主机了

以上就是本篇的全部内容了,相信通过本篇的学习你对Linux系统有了初步的了解,那么接下来我们将在下一篇当中学习Linux系统的基础指令,未完待续……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2278727.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从零开始:Gitee 仓库创建与 Git 配置指南

引言 Git 是一款广泛使用的版本控制工具,它能够帮助开发者在开发过程中高效地管理代码的版本。而 Gitee(码云)是国内知名的 Git 托管平台,它提供了强大的代码托管、团队协作和项目管理功能。如果你是 Git 和 Gitee 的新手&#x…

创建模式、结构模式及行为模式

谁在什么地方提供什么功能? 要设计几个类?这些类各个是什么功能?相互间的关系是什么? 创建模式指的是对象那么多,怎么把它"生"出来?生几个?从这个角度上来说数组就是一种另类的创建模式。主要…

SpringBoot链接Kafka

一、SpringBoot生产者 (1)修改SpringBoot核心配置文件application.propeties, 添加生产者相关信息 # 连接 Kafka 集群 spring.kafka.bootstrap-servers192.168.134.47:9093# SASL_PLAINTEXT 和 SCRAM-SHA-512 认证配置 spring.kafka.properties.securi…

Linux下源码编译安装Nginx1.24及服务脚本实战

1、下载Nginx [rootlocalhost ~]# wget -c https://nginx.org/download/nginx-1.24.0.tar.gz2、解压 [rootlocalhost ~]# tar xf nginx-1.24.0.tar.gz -C /usr/local/src/3、安装依赖 [rootlocalhost ~]# yum install gcc gcc-c make pcre-devel openssl-devel -y4、 准备 N…

解答二重积分

什么是积分? 一元函数的积分。具体计算过程,是将无数个小矩形加起来,然后求极限。 而今天我们要讲的积分,是二元函数的积分。我们可以用曲顶柱体的体积来理解。 什么是曲顶柱体? 它的底是xoy平面上的一个闭区域。顶是…

代理模式实现

一、概念:代理模式属于结构型设计模式。客户端不能直接访问一个对象,可以通过代理的第三者来间接访问该对象,代理对象控制着对于原对象的访问,并允许在客户端访问对象的前后进行一些扩展和处理;这种设置模式称为代理模…

回归预测 | MATLAB实TCN时间卷积神经网络多输入单输出回归预测

效果一览 基本介绍 回归预测 | MATLAB实TCN时间卷积神经网络多输入单输出回归预测 …………训练集误差指标………… 1.均方差(MSE):166116.6814 2.根均方差(RMSE):407.5741 3.平均绝对误差(MAE):302.5888 4.平均相对…

《目标检测数据集下载地址》

一、引言 在计算机视觉的广袤领域中,目标检测宛如一颗璀璨的明星,占据着举足轻重的地位。它宛如赋予计算机一双锐利的 “眼睛”,使其能够精准识别图像或视频中的各类目标,并确定其位置,以边界框的形式清晰呈现。这项技…

Android系统定制APP开发_如何对应用进行系统签名

前言 当项目开发需要使用系统级别权限或frame层某些api时,普通应用是无法使用的,需要在AndroidManifest中配置sharedUserId: AndroidManifest.xml中的android:sharedUserId“android.uid.system”,代表的意思是和系统相同的uid&a…

【NextJS】PostgreSQL 遇上 Prisma ORM

NextJS 数据库 之 遇上Prisma ORM 前言一、环境要求二、概念介绍1、Prisma Schema Language(PSL) 结构描述语言1.1 概念1.2 组成1.2.1 Data Source 数据源1.2.2 Generators 生成器1.2.3 Data Model Definition 数据模型定义字段(数据)类型和约束关系&…

Mybatis 进阶 / Mybatis—Puls (详细)

目录 一.动态SQL 1.1标签 1.2 标签 1.3标签 1.4标签 1.5标签 1.6标签 mybatis总结: 二.Mybatis-Puls 2.1准备工作 2.2CRUD单元测试 2.2.1创建UserInfo实体类 2.2.2编写Mapper接⼝类 2.2.3 测试类 2.3 常见注解 2.3.1TableName 2.3.2TableField 2.4打印日…

Java工具包:高效开发的魔法钥匙

目录 一、引言 二、Hutool 工具包初体验 2.1 快速入门 2.2 常用工具类及方法详解 2.2.1 Convert 类型转换工具类 2.2.2 DateUtil 日期时间工具类 2.2.3 StrUtil 字符串工具类 2.2.4 其他常用工具类 三、其他 Java 常用工具包巡礼 3.1 Apache Commons 系列 3.2 Google…

Formality:参考设计/实现设计以及顶层设计

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482​​​ Formality存在两个重要的概念:参考设计/实现设计和顶层设计,本文就将对此进行详细阐述。参考设计/实现设计是中两个重要的全局概念&am…

HBase实训:纸币冠字号查询任务

一、实验目的 1. 理解分布式数据存储系统HBase的架构和工作原理。 2. 掌握HBase表的设计原则,能够根据实际业务需求设计合理的表结构。 3. 学习使用HBase Java API进行数据的插入、查询和管理。 4. 实践分布式数据存储系统在大数据环境下的应用,…

C#轻松实现条形码二维码生成及识别

一、前言 大家好!我是付工。 今天给大家分享一下,如何基于C#来生成并识别条形码或者二维码。 二、ZXing.Net 实现二维码生成的库有很多,我们这里采用的是http://ZXing.Net。 ZXing是一个开放源码的,用Java实现的多种格式的一…

重拾Python学习,先从把python删除开始。。。

自己折腾就是不行啊,屡战屡败,最近终于找到前辈教我 第一步 删除Python 先把前阵子折腾的WSL和VScode删掉。还是得用spyder,跟matlab最像,也最容易入手。 从VScode上搞python,最后安装到appdata上,安装插…

ASP.NET Core - 依赖注入(三)

ASP.NET Core - 依赖注入(三) 4. 容器中的服务创建与释放 4. 容器中的服务创建与释放 我们使用了 IoC 容器之后,服务实例的创建和销毁的工作就交给了容器去处理,前面也讲到了服务的生命周期,那三种生命周期中对象的创…

高通8255 Android STR 启动失败要因分析调查

目录 背景: 调查过程: 步骤1: slog2info | grep vmm_service 步骤2: slog2info | grep qvm 总结: 解决方案 背景: 调试高通8255 STR的STR过程中发现Android和QNX进入STR状态后,脱出STR时…

Linux操作命令之云计算基础命令

一、图形化界面/文本模式 ctrlaltF2-6 图形切换到文本 ctrlalt 鼠标跳出虚拟机 ctrlaltF1 文本切换到图形 shift ctrl "" 扩大 ctrl "-" 缩小 shift ctrl "n" 新终端 shift ctrl "t" 新标签 alt 1,…

LabVIEW桥接传感器配置与数据采集

该LabVIEW程序主要用于配置桥接传感器并进行数据采集,涉及电压激励、桥接电阻、采样设置及错误处理。第一个VI("Auto Cleanup")用于自动清理资源,建议保留以确保系统稳定运行。 以下是对图像中各个组件的详细解释&#…