什么是Linux,如何在Windows操作系统下搭建Linux环境,远程连接Linux系统

news2024/12/26 14:43:01

在这里插入图片描述

文章目录

  • 什么是Linux
  • Linux的诞生及发展
  • 为什么要学习Linux
  • Linux内核
  • Linux发行版
  • 什么是虚拟机
  • 如何在VMware虚拟机中搭建Linux系统环境
  • 远程连接 Linux 系统
  • Linux 帮助网站

什么是Linux

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux操作系统诞生于1991年10月5日(这是第一次正式向外公布时间)。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。
在这里插入图片描述

Linux的诞生及发展

Linux的诞生可以追溯到1991年,当时Linus Torvalds(林纳斯 托瓦兹)还是芬兰赫尔辛基大学的学生,为了能在自己的PC机上使用与学校一样的操作系统,他开始编写类似UNIX内核的工作。Linus使用的是MINIX,但他希望自己的操作系统能够超过MINIX的标准。到了1991年的10月5日,Linus在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核系统的诞生。这段消息可以称为Linux的诞生宣言,并且一直广为流传。
在这里插入图片描述

在后来的几年中,Linux系统得到了不断的发展和完善。商业化和非商业的Linux发行版本开始出现,吸引了越来越多的用户和开发者。到了2010年,在Linux Kernel平台上工作的开发者已经达到1000位。

Linux的发展得到了许多公司和个人的支持,其中最为重要的就是GNU计划。GNU计划旨在开发一套完全自由的操作系统,弥补Linux的不足。Linux和GNU相结合,形成了一个完整的自由软件操作系统——GNU/Linux。

总的来说,Linux的诞生和发展是开源运动和自由软件运动的重要推动力量,为全球的计算机发展和软件开发做出了巨大的贡献。

为什么要学习Linux

  1. 开源性:Linux是一个开源操作系统,这意味着它的源代码对公众开放,任何人都可以查看、修改和分发它。这使得Linux具有透明性、灵活性和安全性,吸引了大量的开发者和社区参与,促进了技术的创新和改进。

  2. 广泛应用:Linux被广泛应用于各种领域,包括服务器、嵌入式系统、移动设备和云计算等。学习Linux可以让您掌握一种通用的操作系统,为您走向不同领域的IT职业提供更多机会和选择。

  3. 跨平台性:Linux能够运行在多种硬件平台上,从个人计算机到服务器集群,从手机到嵌入式设备。通过学习Linux,您可以获得与不同平台兼容的技能和知识,提高您的灵活性和适应性。

  4. 强大的命令行工具:Linux提供了强大而灵活的命令行工具,可以进行高效的系统管理、配置和脚本编程。熟练掌握命令行工具可以提高您的工作效率和自动化能力,并为您提供更大的控制力。

  5. 安全性:相比其他操作系统,Linux由于其开放源代码和庞大的社区支持,通常被认为更安全。通过学习Linux,您可以了解和实施安全最佳实践,提升您在保护系统和数据方面的技能。

  6. 职业机会:Linux在IT行业中的广泛应用和普及程度,为Linux技术人员提供了丰富的职业机会。从Linux系统管理员到网络工程师、云计算专家以及安全专家,有许多与Linux相关的职位和角色需要熟悉Linux技能。

  7. 社区支持:Linux拥有庞大而活跃的社区,提供了丰富的资源、论坛和博客,可以为学习者提供帮助和支持。通过加入Linux社区,您可以与其他开发者和专业人士交流、学习和分享经验。

Linux是服务器领域最厉害的操作系统,没有之一。

Linux内核

Linux内核是Linux操作系统的心脏,负责管理系统资源、处理系统请求、控制硬件设备等。它是基于Unix设计思想的操作系统,具有高效、稳定、安全和灵活等特点。
在这里插入图片描述

Linux内核主要由以下几个部分组成:

  1. 进程管理:负责进程的创建、终止、调度以及进程间的通信等。
  2. 内存管理:负责内存的分配、释放、保护和共享等。
  3. 文件系统:负责文件和目录的创建、读取、写入和删除等操作。
  4. 设备驱动:负责与硬件设备的通信和控制。
  5. 网络管理:负责网络协议的实现、网络连接的管理和网络安全等。
  6. 系统调用:提供一组系统调用接口,用于应用程序与内核交互。

Linux内核是免费开源的,任何人都可以下载查看并修改源码。
大家可以通过 https://www.kernel.org/ 去下载Linux内核。
在这里插入图片描述

Linux发行版

Linux发行版(Linux distribution)是指将Linux操作系统和各种应用软件集成到一个预先打包好的系统中,以便一般用户可以方便、快捷地安装和使用。Linux发行版通常包含了桌面环境、办公套件、媒体播放器、数据库等应用软件,以及一个软件包管理系统,用于方便地安装、卸载和管理软件。

在这里插入图片描述

Linux发行版有很多种,如Ubuntu、Fedora、Debian、Arch Linux、CentOS等。这些发行版各有特点和优点,可以根据用户的需求进行选择。其中,Ubuntu和Fedora是比较流行的Linux发行版,而Arch Linux则以滚动更新和简洁的理念受到用户的青睐。

Linux发行版的发展一直非常活跃,不断推出新的版本和改进,以满足用户的需求和提高系统的性能和安全性。

什么是虚拟机

我们要想在非Linux系统下使用Linux,最好的方法就是使用虚拟机搭建一个Linux系统环境。

虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。它可以在实体计算机中模拟出多个虚拟计算机,每个虚拟计算机都可以独立运行,并可以安装各种软件与应用等。

在这里插入图片描述

虚拟机在现实中的作用还是相当大的,比如在没有光驱的情况下,如果要安装系统就可以使用虚拟机来安装系统。另外,虚拟机技术在游戏爱好者朋友眼中也相当实用,比如一般一台电脑很多游戏不支持同时多开,但我们可以在电脑中多创建几个虚拟机,那么在虚拟机系统中即可单独再运行程序了,这样即可实现一台电脑同时多开同一游戏了。

目前流行的虚拟机软件有VMware(VMWare ACE)、Virtual Box和Virtual PC等。

接下来我将为大家分享如何使用VMware虚拟机来搭建Linux系统环境。

如何在VMware虚拟机中搭建Linux系统环境

一:下载VMware虚拟机
https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html

在这里插入图片描述
二:检查网络适配器

安装完成VMware之后,我们需要检查对应的网络适配器是否完成配置。WIN + R 输入 ncpa.cpl,查看是否有VMnet1 和 VMnet8。如果没有,需要重新安装 VMware 虚拟机。
在这里插入图片描述

三:下载 CentOs 操作系统
CentOs 是国内使用较多的操作系统,Ubantu 使用人数也较多,大家也可以试试这个操作系统。

CentOs官网
在这里插入图片描述

可能我们使用官网用不了,所以大家可以试试镜像CentOs。

CentOs镜像网站

在这里插入图片描述

四:在 VMware 中安装 CentOs 操作系统

我们打开 VMware 虚拟机。
在这里插入图片描述

因为现阶段我们学习较简单,所以使用典型类型。

在这里插入图片描述

这里选择我们安装的 CentOs 操作系统。

在这里插入图片描述

创建用户名和密码。

在这里插入图片描述

指定虚拟机名字以及位置。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

这里需要等待一段时间

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

输入密码

在这里插入图片描述

在这里插入图片描述

远程连接 Linux 系统

我们使用 VMware 可以得到 Linux 虚拟机,但是在 VMware 中操作 Linux 的命令行页面不太方便,主要是:

  • 内容的复制、粘贴跨越 VMware 不方便
  • 文件的上传、下载跨越 VMware 不方便
  • 也就是和 Linux 系统的各类交互,跨越 VMware 不方便

所以我们可以使用第三方软件 FinalShell 远程连接到 Linux 操作系统之上。

一:FinalShell 的下载
http://www.hostbuf.com/

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我们在使用 FinalShell 远程连接 Linux 的时候,需要保证 VMware 上的 Linux 操作系统是处于运行状态的。

右键
在这里插入图片描述

输入命令 ifconfig

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Linux 帮助网站

  1. Linux命令:https://linuxcommand.org/ 这个网站提供了关于Linux命令的详细说明和示例,可以帮助你学习和使用各种Linux命令。

  2. Linux文档项目:https://www.linuxdoc.org/ Linux文档项目是一个集中存储Linux相关文档的网站,包括各种教程、指南和手册,涵盖了广泛的主题。

  3. LinuxQuestions.org:https://www.linuxquestions.org/ LinuxQuestions.org是一个活跃的Linux社区论坛,你可以在这里提问、寻求帮助和与其他Linux用户交流。

  4. Stack Exchange - Unix & Linux:https://unix.stackexchange.com/ Unix & Linux是Stack Exchange的一个专门讨论Unix和Linux系统的子网站,你可以在这里提问和回答问题。

  5. ArchWiki:https://wiki.archlinux.org/ ArchWiki是一个详细的Linux发行版Arch Linux的文档资源,其中包含了大量关于Linux系统配置和使用的信息。

  6. Ubuntu中文论坛:https://forum.ubuntu.org.cn/ Ubuntu中文论坛是一个专门讨论Ubuntu和Linux相关主题的中文社区论坛,你可以在这里获取帮助和交流经验。

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

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

相关文章

概念解析 | PointNet概述

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次解析的概念是:点云深度学习及PointNet论文概述 参考论文:Qi C R, Su H, Mo K, et al. Pointnet: Deep learning on point sets for 3d classification and segmentation[C]//Proceedings of …

《向量数据库指南》——GPTCache 中的温度参数

目录 GPTCache 中的温度参数 a. 从多个候选答案中随机选择 b. 调整概率跳过缓存,直接调用模型 GPTCache 中的温度参数 为了平衡响应的随机性和一致性,并满足用户偏好或应用需求,在多模态 AI 应用中选择适当的温度参数值至关重要。GPTCache 保留了机器学习中温度参数的概…

Netty 粘包半包

什么是 TCP 粘包半包? 假设客户端分别发送了两个数据包 D1 和 D2 给服务端,由于服务端一次读取到的字节 数是不确定的,故可能存在以下 4 种情况。 (1)服务端分两次读取到了两个独立的数据包,分别…

kubernetes基于helm部署gitlab-operator

kubernetes基于helm部署gitlab-operator 这篇博文介绍如何在 Kubernetes 中使用helm部署 GitLab-operator。 先决条件 已运行的 Kubernetes 集群负载均衡器,为ingress-nginx控制器提供EXTERNAL-IP,本示例使用metallb默认存储类,为gitlab p…

ChatGPT“侵入”校园,教学评价体制受冲击,需作出调整

北密歇根大学的教授奥曼在学生作业中发现了一篇关于世界宗教的“完美论文”。“这篇文章写得比大多数学生都要好......好到不符合我对学生的预期!”他去问ChatGPT:“这是你写的吗?”ChatGPT回答:“99.9%的概率是的。” ChatGPT“侵…

C++二叉搜索树剖析

目录 🍇二叉搜索树概念🍈二叉搜索树查找🍉二叉搜索树的插入🍊二叉搜索树的删除🍍二叉搜索树的查找、插入、删除实现🍋二叉搜索树的应用🥭二叉搜索树的性能分析🍓总结 🍇二…

Mac 创建和删除 Automator 工作流程,设置 Terminal 快捷键

1. 创建 Automator 流程 本文以创建一个快捷键启动 Terminal 的自动操作为示例。 点击打开 自动操作; 点击 新建文稿 点击 快速操作 选择 运行 AppleScript 填入以下内容 保存名为 “Open Terminal” 打开 设置 > 键盘,选择 键盘快捷键 以此选择 服…

Python(六十九)为什么要将元组设计成不可变序列

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

git bash 安装sdkadmin

1.下载相关安装包,复制到git 安装目录 D:\software\Git\mingw64\bin 2. 运行 curl -s "https://get.sdkman.io" | bash

心跳跟随的心形灯(STM32(HAL)+WS2812+MAX30102)

文章目录 前言介绍系统框架原项目地址本项目开发开源地址硬件PCB软件功能 详细内容硬件外壳制作WS2812级联及控制MAX30102血氧传感器0.96OLEDFreeRTOS 效果视频总结 前言 在好几年前,我好像就看到了焊武帝 jiripraus在纪念结婚五周年时,制作的一个心跳跟…

10 日志系统(下)

10 日志系统(下) 本文内容 日志系统分为两部分,其一是单例模式与阻塞队列的定义,其二是日志类的定义与使用。 本篇将介绍日志类的定义与使用,具体的涉及到基础API,流程图与日志类定义,功能实现…

Android 刷新与显示

目录 屏幕显示原理: 显示刷新的过程 VSYNC机制具体实现 小结: 屏幕显示原理: 过程描述: 应用向系统服务申请buffer 系统服务返回一个buffer给应用 应用开始绘制,绘制完成就提交buffer,系统服务把buffer数据…

第三章 CUDA编译器环境配置篇

cuda教程目录 第一章 指针篇 第二章 CUDA原理篇 第三章 CUDA编译器环境配置篇 第四章 kernel函数基础篇 第五章 kernel索引(index)篇 第六章 kenel矩阵计算实战篇 第七章 kenel实战强化篇 第八章 CUDA内存应用与性能优化篇 第九章 CUDA原子(atomic)实战篇 第十章 CUDA流(strea…

Fatal error, can‘t open config file ‘/myredis/redis.conf‘: No such file or directory

在学习Redis到主从复制部分,进行相关练习,基本过程如下 1.首先将redis.conf文件cp到自建myredis文件夹中,并配置不同端口号的redis.conf redisXXXX.confd的配置内容如下 : include /myredis/redis.conf pidfile /var/run/redis_…

压力测试与测试工具jmeter的介绍

目录 一、性能指标 二、jmeter (一)JMeter 安装 (二)JMeter 压测示例 1、添加线程组 2、添加 HTTP 请求 3、添加监听器 4、启动压测&查看分析结果 (三)JMeter Address Already in use 错误解决 压力测…

Flutter运行app时向logcat输出当前打开的界面路径且点击可跳转

当一个项目大了目录文件多了,我们往往会为了找到一个文件花费大量的时间和精力,为了快捷方便的调试我们的项目,我们往往需要在打开app运行的时候需要知道当前打开的界面的文件在哪儿,我们这个代码就能快捷的知道我们app正在打开的…

《HeadFirst设计模式(第二版)》第五章代码——单例模式

代码文件目录: 初始版本: package Chapter5_SingletonPattern.origin;/*** Author 竹心* Date 2023/8/5**/public class Singleton {private static Singleton uniqueInstance;private Singleton(){}public static Singleton getInstance(){if(uniqueIn…

2023牛客暑期多校训练营6-A Tree

2023牛客暑期多校训练营6-A Tree https://ac.nowcoder.com/acm/contest/57360/A 文章目录 2023牛客暑期多校训练营6-A Tree题意解题思路代码 题意 解题思路 最大价值和这个数据范围,一眼 d p dp dp。 直接在树上并不好处理,问题是如何有效转化、处理…

黑马程序员SpringMVC练手项目

目录 1、需求 2、项目准备 pom.xml SQL jdbc.properties log4j.properties applicationContext.xml spring-mvc.xml web.xml 3、工作流程 4、难点 项目已经上传到gitee:https://gitee.com/xzl-it/my-projects 1、需求 SpringMVC项目练习:数…