【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 编程语言的诞生于此。 ↩︎

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

令牌桶算法与Guava的实现RateLimiter源码分析

令牌桶算法与Guava的实现RateLimiter源码分析 令牌桶RateLimiter简介RateLimiter使用示例导入maven依赖编写测试代码 RateLimiter的实现源码解析SmoothRateLimiterSmoothBursty恒速获取令牌acquire(int)tryAcquire(int,long,TimeUnit) 存量桶系数小结 优缺点与漏桶的区别总结 令…

Python爬虫时被封IP,该怎么解决?四大动态IP平台测评

在使用 Python 进行爬虫时,很有可能因为一些异常行为被封 IP,这主要是因为一些爬虫时产生的异常行为导致的。 在曾经的一次数据爬取的时候,我尝试去爬取Google地图上面的商家联系方式和地址信息做营销,可是很不幸,还只…

CloudPanel file-manager/backend/makefile接口存在远程命令执行漏洞CVE-2023-35885

@[toc] 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. CloudPanel 简介 微信公众号搜索:南风漏…

【漏洞复现】Hikvision摄像头产品越权漏洞(CVE-2017-7921)

Nx01 产品简介 Hikvision(海康威视)是一家在中国颇具影响力的安防公司,其网络摄像头产品在市场上占据了相当大的份额。Hikvision的网络摄像头产品线非常丰富,涵盖了各种型号和功能,以满足不同用户的需求。 Nx02 漏洞描…

Spring DI

目录 什么是依赖注入 属性注入 构造函数注入 Setter 注入 依赖注入的优势 什么是依赖注入 依赖注入是一种设计模式,它通过外部实体(通常是容器)来注入一个对象的依赖关系,而不是在对象内部创建这些依赖关系。这种方式使得对象…

03-黑马程序员大数据开发:Apache Hive

一、 Apache Hive概述 1. 目的:了解什么是分布式SQL计算;了解什么是Apache Hive 2. 使用Hive处理数据的好处 操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)底层执行MapReduc…

第七回 林教头刺配沧州道 鲁智深大闹野猪林-FreeBSD/Linux图形界面安装配置

高俅定林冲:手持利刃,故入节堂,杀害本官的罪名,将林冲押解去开封府,暗示开封府将林冲处决。 开封府负责办案的叫孙定,他为人刚正不阿,宅心仁厚。在他的据理力争之下,开封府尹最终对…

【linux】ps的基本使用

ps是linux中用于显示进程的工具,确切来说是显示活动进程的工具 ps的基本格式是 ps [选项] sh-3.2# ps --help ps: illegal option -- - usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]][-g grp[,grp...]] [-u [uid,uid...]][-p pid[,pid..…

windows下redis使用教程

创建临时服务 redis-server.exe redis.windows.conf启动客户端 验证 # 使用set和get命令,对Redis数据库进行数据存储和获取,如下图所示 config get *创建永久服务 关闭临时服务的cmd窗口,输入以下命令 redis-server.exe --service-insta…

【设计模式-08】Flyweight享元模式

简要说明 简要的理解:享元模式就是新建一个池(Pool),该池子(Pool)中有新建好的一堆对象,当需要使用时,从池子(Pool)中直接获取,不用重新新建一个对象。通俗的讲就是:共享元数据。 比如Java中的String就是使…

Maven详解(入门到精通)学习maven有这个就够了

目录 1. Maven简介 2. 什么是Maven? 3. Maven的下载和安装 安装maven核心程序 4.Maven 核心概念 5. 第一个maven项目 创建约定的目录结构 6. 为什么创建约定的目录结构? 7. 基本的Maven命令 8. 关于联网下载的问题 9. 仓库 10. pom 11.坐标 12. 依赖初步认…

扎克伯格宣布将购买35万个GPU

Meta公司马克.扎克伯格1月18日在Instagram上发表文章称,该公司正在加强人工智能研究团队的力量,并在充实AI基础设施“弹药库“,计划在今年年底前向芯片设计商英伟达购买35万个H100 GPU芯片,从而使该公司的GPU总量达到约60万个&…

蓝桥杯练习题dfs与bfs

📑前言 本文主要是【算法】——dfs与bfs的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句&#xff…

璀璨2023,共赴2024——Tempo大数据分析产品年度回顾

随着2024年的到来,2023年已落下了帷幕,这一年里,Tempo大数据分析产品不断追求创新,进行了四次重要的版本升级。为用户带来新功能的同时确保用户在使用产品时获得卓越的体验感,从而更大程度地提升用户的工作效率。 现在…

使用Nginx和Fancyindex组合搭建文件下载站点详细教程

目录 简介 TIPS 1.下载Nginx 2. 安装Fancyindex和Nginx-Fancyindex-Theme模块 2.1 安装编译工具和依赖 2.2 下载Fancyindex和Nginx-Fancyindex-Theme 2.3 编译Nginx并包括Fancyindex 3. 配置Nginx 4.体验 4.1light主题 4.2dark主题 后记 简介 当使用Nginx和Fancyinde…

基于SpringBoot的欢乐校园管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…

使用Python监听并下载微信聊天表情包

实现的功能 只要有人给你发了表情包,不管是群聊还是个人发的,都将它保存到本地。也许某天斗图的时候就能用到,不过即使有了表情包,还需要一个检索功能,不然这一张一张看也太费眼睛了。 检索表情包 检索表情包的功能…

Redis: Redis介绍

文章目录 一、redis介绍二、通用的命令三、数据结构1、字符串类型(String)(1)介绍(2)常用命令(3)数据结构 2、列表(List)(1)介绍&…

【C语言编程之旅 6】刷题篇-for循环

第1题 解析 思路&#xff1a; 两个循环进行控制 外层循环控制打印多少行 内部循环控制每行打印多少个表达式以及表达式内容&#xff0c; 比较简单&#xff0c;具体参考代码 #include <stdio.h> int main() {int i 0;//控制行数for(i1; i<9; i){//打印每一行内容&am…

FlinkAPI开发之处理函数

案例用到的测试数据请参考文章&#xff1a; Flink自定义Source模拟数据流 原文链接&#xff1a;https://blog.csdn.net/m0_52606060/article/details/135436048 概述 之前所介绍的流处理API&#xff0c;无论是基本的转换、聚合&#xff0c;还是更为复杂的窗口操作&#xff0c…