【Linux】相关背景及环境搭建

在这里插入图片描述

前言:
认识 Linux, 了解 Linux 的相关背景,学会如何使用云服务器,掌握使用远程终端工具 xshell 登陆 Linux 服务器


文章目录

  • 一、Linux介绍
    • 1.1 关于UNIX
    • 1.2 Linux的诞生及发展历程
    • 1.3 Linux开源
    • 1.4 Linux在各个行业的现状
    • 1.5 发行版本
  • 二、Linux环境搭建
    • 使用 XShell 远程登陆到 Linux

一、Linux介绍

Linux 是一种开源的类 UNIX 操作系统内核,最早由芬兰的林纳斯·托瓦兹(Linus Torvalds)在1991年创建。而UNIX 是一种多用户、多任务操作系统,是操作系统领域的经典之一。

1.1 关于UNIX

UNIX 的开发始于20世纪60年代末和70年代初,由贝尔实验室1的一组计算机科学家和工程师共同开发。其中包括肯·汤普逊(Ken Thompson)、丹尼斯·里奇(Dennis Ritchie)( C 语言的创造者之一)、道格拉斯·麦克罗伊(Douglas McIlroy)等人。

UNIX 的主要发展阶段:

  1. 初期版本(1969-1972): UNIX 最早的版本是由肯·汤普逊和丹尼斯·里奇在贝尔实验室的 PDP-7 计算机上开发的。这个版本主要是为了解决多用户环境下的程序开发和执行问题。随后,UNIX 在 PDP-11 上进行了移植,并逐渐吸引了更多的开发者。

  2. UNIX 第一版和第二版(1972-1973): 在 PDP-11 上的经验基础上,UNIX 第一版于1971年发布,第二版则在1972年发布。这两个版本引入了许多 UNIX 的基本概念,如文件系统、shell 和基本的命令集。

  3. UNIX 第三版和第四版(1973-1974): UNIX 第三版引入了管道(pipeline)和重定向等概念,增加了对 Fortran 和 Snobol 编程语言的支持。第四版进一步扩展了文件系统和引入了对 C 语言的更多支持。

  4. UNIX 第五版和第六版(1974-1975): 第五版在1974年发布,引入了更多的实用程序和工具,包括 awk 编程语言。第六版继续改进了性能和功能,逐渐成为主流。

  5. UNIX 第七版和 System III(1978-1981): 第七版 UNIX 在1978年发布,带来了更多功能和改进。System III 是 AT&T 在1981年发布的一个商业版本,为 UNIX 的商业化奠定了基础。

  6. UNIX 的分支和 System V(1983-1989): 1983年,AT&T 发布了 System V,成为一个重要的 UNIX 分支。这个版本引入了更多的标准化和商业化元素。与此同时,BSD (Berkeley Software Distribution) 的分支也逐渐崭露头角,开发了自己的 UNIX 变种。

  7. UNIX 变种的多样化(1990年代以后): 在1990年代,UNIX 变得更加多样化。许多厂商基于 System V 或 BSD 开发了自己的 UNIX 变种。同时,开源的 FreeBSD 和 OpenBSD 项目也推动了 UNIX 的发展。

  8. Linux 的崛起(1991年以后): 在1991年,Linus Torvalds 创建了 Linux 操作系统内核,受到 UNIX 设计哲学的启发。Linux 成为了一个免费、开源的 UNIX 类操作系统,取得了巨大成功,影响了整个操作系统领域。


1.2 Linux的诞生及发展历程

1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组
(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。

  1. Linux 0.01 (1991): Linus Torvalds在1991年8月25日发布了第一个 Linux 内核的版本,命名为 0.01。这个版本还很简单,只包含了一些基本的文件系统和系统调用。Linus Torvalds仅发布了源代码,并邀请其他开发者参与。

  2. Linux 0.02 (1991年10月): Torvalds于10月5日发布的这个Linux版本被称为0.02版,它能够运行GNU Bourne Again Shell(bash)和GNU的C编译程序(gcc)以及为数不多的其它语言。Torvalds绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生。

  3. 形成开发社区: Linus Torvalds通过互联网在一些新闻组和邮件列表上发布消息,邀请其他开发者加入 Linux 的开发。这一开放的合作方式吸引了许多人,形成了一个积极的开发社区。

  4. Linux 0.95 (1992): 这个版本引入了网络支持,包括 TCP/IP 协议栈。Linux 开始在一些早期的支持者中流行起来,社区逐渐扩大。

  5. Linux 1.0 (1994): 在1994年3月,Linux 发布了 1.0 版本,标志着 Linux 已经足够稳定和功能完善,可以被认为是一个正式的操作系统。这一版本包含了许多重要的特性和改进。

  6. 商业支持和服务器应用: 随着 Linux 的成熟,一些公司开始提供商业支持,并将 Linux 用于服务器环境。Red Hat 成为其中一家提供商业 Linux 发行版的公司,它于1994年创立。

  7. Linux 2.0 (1996): 这个版本带来了对 SMP(对称多处理)的支持,使 Linux 更适用于多处理器系统。同时,Linux 在服务器和企业环境中得到更广泛的应用。

  8. GNU/Linux: 在 Linux 成功的同时,GNU 计划的开发者也为 Linux 提供了一些关键的用户空间工具和库。这导致了术语 “GNU/Linux” 的使用,强调了 Linux 内核和 GNU 工具链的结合。

  9. Linux 2.4 和 2.6 (2001-2003): Linux 2.4 版本引入了更多的硬件支持和性能改进。随后,Linux 2.6 版本带来了更多的功能、稳定性和性能提升,成为企业级部署的首选。

  10. Android 和嵌入式系统: Linux 在移动领域的应用得到了推动,特别是由 Google 推出的 Android 操作系统采用了 Linux 内核。Linux 还被广泛用于嵌入式系统,包括路由器、电视、汽车等。

  11. 云计算和容器化: Linux 在云计算时代变得更为重要,很多云服务基于 Linux。容器技术(如Docker)的兴起也促使 Linux 在开发和部署方面变得更加灵活和高效。

  12. Linux 5.x (2019以后): 当前,Linux 内核持续更新,最新版本为 Linux 5.x 系列。这些更新包括对新硬件的支持、性能优化以及安全性改进。


1.3 Linux开源

开源是指源代码是公开可见的,任何人都有权查看代码。开源软件通常采用自由许可证,赋予用户在一定条件下自由使用、修改和分享软件的权利。开源同时鼓励学习和知识的分享。通过查看源代码,开发者可以学到新的编码技术和最佳实践。开发者也被鼓励向社区贡献自己的经验和知识,促进共同学习。

Linux是一种自由和开放源代码的类UNIX操作系统,再在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统

Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。随着Linux操作系统飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此,Linux也成为了开源软件的代名词


1.4 Linux在各个行业的现状

  1. 服务器和数据中心: Linux 是服务器和数据中心领域的主导操作系统之一。众多云服务提供商、企业服务器以及大规模数据中心都采用 Linux 作为首选操作系统,其稳定性、性能和开源特性使其成为处理大规模工作负载的理想选择。

  2. 云计算: Linux 在云计算领域占据主导地位,许多云服务提供商如Amazon Web Services(AWS)、Microsoft Azure、Google Cloud Platform等都在其基础设施上使用 Linux。容器技术如Docker的兴起也进一步强化了 Linux 在云原生应用开发和部署中的地位。

  3. 嵌入式系统: Linux 在嵌入式系统中得到广泛应用,包括智能家居设备、路由器、嵌入式计算机、物联网设备等。其灵活性和可定制性使得 Linux 成为嵌入式领域的首选。

  4. 科学研究: 在科学和研究领域,Linux 提供了丰富的开源工具和库,用于数据分析、模拟、实验控制等。科学家和研究人员经常使用 Linux 来支持他们的研究工作。

  5. 金融服务: 在金融行业,Linux 用于构建高性能的交易系统、风险管理平台等关键系统。其稳定性和高性能使得 Linux 成为金融服务机构的首选。

  6. 移动设备和智能手机: Android 操作系统,基于 Linux 内核,是移动设备和智能手机领域最流行的操作系统之一。许多智能手机制造商使用 Android 作为其设备的操作系统。


1.5 发行版本

Linux 有许多不同的发行版本,也被称为发行版或发行版(Distribution,简称为 distro)。每个发行版都是基于 Linux 内核的,但它们可能包括不同的软件包、工具和配置,以满足特定用户群体的需求。以下是一些常见的 Linux 发行版:

  1. Ubuntu: Ubuntu 是一款基于 Debian 的发行版,注重易用性和用户友好。它有一个庞大的社区,支持桌面和服务器应用,并提供定期的长期支持(LTS)版本。

  2. Debian: Debian 是一款具有广泛社区支持的发行版,以其稳定性和开放性而闻名。许多其他发行版都是基于 Debian 构建的。

  3. Fedora: Fedora 是由 Red Hat 公司支持的社区发行版,注重提供最新的开源软件和技术。它也是作为 Red Hat Enterprise Linux(RHEL)的测试平台而存在。

  4. Red Hat Enterprise Linux(RHEL): RHEL 是由 Red Hat 公司提供的商业发行版,专注于企业级支持和稳定性。它通常用于服务器和企业环境。

  5. Arch Linux: Arch Linux 是一款面向有经验的用户的发行版,注重简洁和灵活性。它采用滚动更新的模式,用户可以根据自己的需求自定义系统。

  6. CentOS: CentOS 是一个由社区支持的发行版,它是 RHEL 的克隆版,提供与 RHEL 兼容的免费开源替代品。CentOS 8 后续版本由 Rocky Linux 继续发展。

在这里插入图片描述


二、Linux环境搭建

Linux环境搭建主要有以下几种方式:
Linux 环境的搭建方式取决于你的需求和使用场景。以下是一些常见的 Linux 环境搭建方式:

  1. 物理机安装: 如果你有一台空闲的计算机,并希望在物理硬件上运行 Linux,你可以选择在该计算机上进行物理安装。这通常涉及使用 Linux 发行版的安装介质(如安装光盘或 USB 驱动器)并按照安装向导的步骤进行安装。

  2. 虚拟机安装: 使用虚拟化软件(如VirtualBox、VMware、KVM等),你可以在现有的操作系统上创建一个虚拟机,并在虚拟机中安装 Linux。这种方式允许你在不影响主机系统的情况下体验 Linux,并进行测试和学习。

  3. 双系统安装: 如果你想在一台计算机上同时使用 Linux 和另一个操作系统(如Windows),你可以选择在计算机上设置双系统。这涉及在计算机上分区,并在其中一个分区上安装 Linux。在启动时,你可以选择进入 Linux 或其他操作系统。

  4. 云服务器: 你可以选择使用云服务提供商提供的云服务器实例。通过在云上创建虚拟机,你可以远程访问和管理 Linux 环境。

不同的搭建方式适用于不同的使用场景和需求。选择适合你的方式,并根据实际情况进行配置和定制。


这里仅介绍使用云服务器搭建环境,以阿里云为例:
前往阿里云官网搜索云服务器ECS
在这里插入图片描述
镜像选择CentsOS 7.6 64位
其它,例如地域,公网IP,实例等等按照自己需求选择。


使用 XShell 远程登陆到 Linux

下载安装 XShell
XShell 是一个远程终端软件,下载官网
下载安装的时候选择 “home/school” 则为免费版本。

打开Xshell
在这里插入图片描述


如果第一次登陆,我们点击文件下面的那个带有加号的图形(第二行最左边的),名称自定义,主机输入公网IP,其它默认,然后连接。
在这里插入图片描述


输入用户名,这里我输入root,默认最少都会有一个root用户( “root” 是 Linux 系统中超级用户,root 用户是系统中具有最高权限的用户,具有一定风险,如果有普通用户就输入普通用户名)。
在这里插入图片描述


接着输入密码,这个密码是购买云服务器时输入的密码,然后就登录了。
在这里插入图片描述


在这里插入图片描述
如果你喜欢这篇文章,点赞👍+评论+关注⭐️哦!
欢迎大家提出疑问,以及不同的见解。


  1. 贝尔实验室于1925年成立,最初是由美国电话电报公司(AT&T)的创始人之一亚历山大·格拉汉姆·贝尔(Alexander Graham Bell)的儿子建立。实验室的初衷是进行关于电信和通信技术的研究,UNIX 操作系统和 C 编程语言的诞生于此。 ↩︎

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

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

相关文章

LeetCode 热题 100 | 双指针(上)

目录 1 283. 移动零 2 11. 盛最多水的容器 3 15. 三数之和 菜鸟做题第一周,语言是 C 1 283. 移动零 解题思路: 两个指针一前一后遍历数组前者永远指向 0,后者永远在寻找非 0 数的路上后者找到一个非 0 数就和前者进行一个数值交换 …

x-cmd pkg | jieba - 中文结巴分词工具

目录 简介首次用户功能特点竞品分析进一步阅读 简介 结巴中文分词(jieba)是一款在 Python 环境下使用的开源中文文本分词工具。它支持多种分词模式,包括精确模式、全模式和搜索引擎模式,同时支持繁体分词和自定义词典。因其易用性…

代码随想录算法训练营第十一天|20 有效的括号、1047 删除字符串中的所有相邻重复项、150 逆波兰表达式求值

20 有效的括号 题目链接:有效的括号 思路 由于栈结构的特殊性,非常适合做对称匹配类的题目。按照逻辑来讲,首先我们要确定下有几种不匹配的情况: 多了左括号多了右括号左右括号不匹配 然后左括号和右括号是一对一的&#xff…

[202401C]巨人之力的题解

原题描述: 时间限制: 1000ms 空间限制: 262144kb 题目描述 两千多年以前,身为艾尔迪亚人的尤弥尔意外获得巨人之力,并且创造了九大巨人,其无以匹敌的力量使得整个世界都陷入了无尽的战乱纷争,艾尔迪亚之外的人类过…

使用excel从1-2048中随机选择1个整数,并展示与其对应的单词

在Excel中,你可以使用以下指令来从1到2048之间随机选择一个整数,并展示其对应的单词: 1. 首先,在一个空白单元格中输入以下公式: INDEX(单词列表范围, RANDBETWEEN(1, 2048)) 这里的"单词列表范围"是一个包…

Vue中对前端按钮高亮的几种操作方式

在Vue中我们有时候会碰到一些需求,就是在点击某个按钮的时候,我们执行别的操作,但是我们希望点击别的操作的时候,让我们之前点击的按钮进行处于高亮状态。 个人在处理业务的时候,测试说,当用户选择某个按钮…

thinkphp6 模糊查找json下的字段值

写法: where(json的字段->json下的字段) sql生成json_extract(json的字段,$.json下的字段1.json下的字段2) 可以加上like where(‘‘json的字段->json下的字段, ‘like’, ‘%’. keyword .’%’) sql生成json_extract(json的字段,$.js…

Redis面试题15

Redis 集群的数据一致性如何保证? 答:Redis 集群的数据一致性是通过内置的集群协议和数据迁移机制来保证的。 在 Redis 集群中,数据被分为多个槽(slot),每个槽对应一个节点。当一个节点接收到写操作时&…

[GN] Vue3.2 快速上手 ---- 核心语法2

文章目录 标签的 ref 属性props生命周期自定义hook总结 标签的 ref 属性 用在普通DOM标签上&#xff0c;获取的是DOM节点。用在组件标签上&#xff0c;获取的是组件实例对象。 用在普通DOM标签上&#xff1a; <template><div class"person"><h3 ref&…

docker-compose直接官网二进制文件安装(linux)

试了很多种方法&#xff0c;国内镜像库安装&#xff0c;会报语法错误 直接用github官网&#xff0c;命令安装下载太慢&#xff0c;还不如魔法下载 官网链接docker-compose-linux-x86_64https://github.com/docker/compose/releases/download/v2.24.1/docker-compose-linux-x8…

温度采样【通道选通】S9KEAZ128的PTA2和PTA3引脚无法拉高

1、问题记录&#xff1a;由18串温度采样修改成32串温度采样&#xff0c;增加一路adc采样&#xff0c;通过cd4051控制通道选通&#xff0c;代码中增加了相应的代码&#xff0c;发现增加的最后8路温度不能够控制&#xff0c;以24串为例&#xff0c;给温度传感器增加温度&#xff…

pytorch(四)、完整小网络的搭建和sequential的使用

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言搭建小网络和sequential的使用一、 第一种形式如下&#xff1a;二、第二种方式&#xff0c;使用sequential 前言 至此&#xff0c;神经网络的基础部分就基本结…

解决Spring Boot跨域问题(配置JAVA类)

什么是跨域问题 跨域问题指的是不同端口之间&#xff0c;使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制&#xff0c;它是为了保证用户的安全&#xff0c;防止恶意网站窃取数据。 比如前端用的端口号为8081&#xff0c;后端用的端口号为8080&#xff0c;后…

C语言从入门到实战——编译和链接

编译和链接 前言一、 翻译环境和运行环境二、 翻译环境2.1 预处理&#xff08;预编译&#xff09;2.2 编译2.2.1 词法分析2.2.2 语法分析2.2.3 语义分析 2.3 汇编2.4 链接 三、 运行环境 前言 在C语言中&#xff0c;编译和链接是将源代码转换为可执行文件的两个主要步骤。 编…

Linux C语言开发(七)内存分类

目录 一.前言 二.动态内存 三.静态内存 四.动态内存与静态内存的区别 一.前言 C语言以其高效性而闻名,一个代码若想高效,则必须对内存空间进行合理的利用和分配。根据内存分配方式不同可以分

MacBookPro怎么数据恢复? mac电脑数据恢复?

使用电脑的用户都知道&#xff0c;被删除的文件一般都会经过回收站&#xff0c;想要恢复它直接点击“还原”就可以恢复到原始位置。mac电脑同理也是这样&#xff0c;但是“回收站”在mac电脑显示为“废纸篓”。 如果电脑回收站&#xff0c;或者是废纸篓里面的数据被清空了&…

docker安装nginx

拉取镜像 docker pull nginx 运行 docker run --name nginx -p 80:80 -d nginx 本地创建管理目录 创建挂载文件夹 mkdir -p /home/nginx mkdir -p /home/nginx/www mkdir -p /home/nginx/conf

App 测试工具大全,收藏这篇就够了

随着移动互联网的高速发展&#xff0c;App应用非常火&#xff0c;测试工程师也会接触到各种app应用。除了人工测试之外&#xff0c;也可以通过一些测试工具来提高我们的测试效率&#xff0c;以下对于我用过或听过的app测试工具做了一个统一整理&#xff0c;欢迎补充。 一、APP自…

【51单片机Keil+Proteus8.9+ADC0804】ADC实验 模拟转数字实验

一、实验名称 ADC实验 模拟转数字实验 二、设计思路 电路设计 1.选用AT89C51单片机作为电路核心单元&#xff0c;外接8位单通道AD转换器ADC0804芯片和LM016L显示器以及滑动变阻器等其它常用元器件构成电路。 2.将ADC0804芯片的控制引脚RD,WR,INTR接到AT89C51芯片对应引脚&…

Spring Boot程序的打包与运行:构建高效部署流程

引言 在现代应用开发中&#xff0c;高效的打包和部署流程对于项目的开发、测试和上线至关重要。Spring Boot作为一种快速开发框架&#xff0c;提供了方便的打包工具和内嵌式的Web服务器&#xff0c;使得打包和运行变得更加简单。本文将研究在Spring Boot应用中如何进行打包&am…