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

server/2025/1/19 16:44:12/

在学习了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.ppmy.cn/server/159663.html

相关文章

【青海省乡镇界】面图层+shp格式arcgis数据+乡镇名称和编码+wgs84坐标无偏移下载内容测评

本文将详细解析标题和描述中涉及的IT知识点,主要集中在地理信息系统(GIS)领域,特别是与ArcGIS软件和SHP文件格式相关的知识。 我们要理解"最新青海省乡镇界面图层"这一概念。在GIS中,图层是地理数据的一种组…

速通Docker === 目录挂载 卷映射

目录 目录挂载 1. 目录挂载的基本概念 2. 挂载命令 3. 配置Nginx启动页 4. 注意事项 卷映射 1. 创建数据卷 2. 运行Nginx容器并挂载数据卷 3. 查找数据卷的宿主机路径 4. 修改配置文件 5. 重启Nginx容器 6. 验证Nginx是否正常工作 Docker挂载总结 目录挂载 卷…

基于unity的多人家装应用的设计与实现

摘要 本课题根据主流家装应用存在的问题和结合了Unity3D引擎所具有的优势,在主流家装应用的基础上弥补了常见的缺憾,实现了一种新型的交互更强的家装展示系统。 本系统主要通过将家具模型资源和材质等资源导入Unity3D平台中,通过C#代码开发,搭建UGUI框架,实现室内漫游、家…

ESP8266 AP模式 网页配网 arduino ide

ESP8266的AP配网,可以自行配置网络,一个简单的demo,文档最后有所有的代码,已经测试通过. 查看SPIFFS文件管理系统中的文件 账号密码是否存在,如不存在进入AP配网,如存在进入wifi连接模式 // 检查Wi-Fi凭据if (isWiFiConfigured()) {Serial.println("找到Wi-Fi凭据&#…

C#实现字符串反转的4种方法

见过不少人、经过不少事、也吃过不少苦,感悟世事无常、人心多变,靠着回忆将往事串珠成链,聊聊感情、谈谈发展,我慢慢写、你一点一点看...... 1、string.Reverse 方法 string content "Hello World";string reverseStri…

laravel10.x 框架中间件实现原理

中间件概念简介 在Laravel 10.x中,中间件是一种在请求到达路由处理程序之前或者之后执行的代码。它就像一个关卡,可以检查、过滤或者修改进入应用程序的HTTP请求。中间件可以用于很多场景,比如身份验证(检查用户是否登录)、日志记录(记录请求信息)、CORS(跨域资源共享)…

7.5.4 MVCC优化测试

作者: h5n1 原文来源: https://tidb.net/blog/4e02d900 1. 背景 由于MVCC 版本数量过多导致rocksdb扫描key数量过多影响SQL执行时间是tidb经常出现问的问题,tidb也一直在致力于优化该问题。 一些优化方式包括比: (1) 从传统…

基于springboot+vue的食物营养分析与推荐网站的设计与实现

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…