Linux学习的前期准备(发展历程+环境搭建)

个人主页:Jason_from_China-优快云博客

所属栏目:Linux系统性学习_Jason_from_China的博客-优快云博客

所属栏目:Linux知识点的补充_Jason_from_China的博客-优快云博客

前言

这一章节主要介绍Linux操作系统的演变,操作系统的作用,操作系统的组成一些概念性的知识,帮助我们了解操作系统的发展,可以看一下就可以,不需要了解的很深入,知道有这个事情就可以

操作系统的发展历程

  1. 手工操作阶段(1946 年第一台计算机诞生 - 20 世纪 50 年代中期)
    • 在这一时期,计算机工作采用手工操作方式。程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行。计算完毕后,打印机输出计算结果,用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。
    • 此阶段的特点是用户独占全机,资源利用率低,且 CPU 等待手工操作,利用不充分。
  2. 批处理系统阶段
    • 联机批处理系统:为解决手工操作的低效率问题,首先出现了联机批处理系统。主机与输入机之间增加了存储设备 —— 磁带。在运行于主机上的监督程序的自动控制下,计算机可自动完成成批地把输入机上的用户作业读入磁带,再依次把磁带上的用户作业读入主机内存并执行,最后把计算结果向输出机输出。完成了上一批作业后,监督程序又从输入机上输入另一批作业,保存在磁带上,并按上述步骤重复处理。这减少了作业建立时间和手工操作时间,提高了计算机的利用率,但在作业输入和结果输出时,主机的高速 CPU 仍处于空闲状态,等待慢速的输入 / 输出设备完成工作,主机处于 “忙等” 状态。
    • 脱机批处理系统:为克服高速主机与慢速外设的矛盾,提高 CPU 的利用率,又引入了脱机批处理系统,即输入 / 输出脱离主机控制。该方式增加了一台不与主机直接相连而专门用于与输入 / 输出设备打交道的卫星机。卫星机从输入机上读取用户作业并放到输入磁带上,再从输出磁带上读取执行结果并传给输出机。这样主机与卫星机可并行工作,有效缓解了主机与设备的矛盾,极大地提高了系统效率。20 世纪 60 年代,脱机批处理系统应用十分广泛,IBM - 7090/7094 配备的监督程序就是脱机批处理系统,是现代操作系统的原型。
  3. 多道程序系统阶段
    • 由于每次主机内存中仅存放一道作业,每当它运行期间发出输入 / 输出(I/O)请求后,高速的 CPU 便处于等待低速的 I/O 完成状态,致使 CPU 空闲。为改善 CPU 的利用率,出现了多道程序设计技术,即允许多个程序同时进入内存并运行,它们共享系统中的各种硬、软件资源。当一道程序因 I/O 请求而暂停运行时,CPU 便立即转去运行另一道程序。这不仅使 CPU 得到充分利用,同时改善了 I/O 设备和内存的利用率,提高了整个系统的资源利用率和系统吞吐量,标志着操作系统渐趋成熟。
  4. 分时系统阶段
    • 20 世纪 60 年代中期,随着 CPU 速度不断提高和分时技术的出现,一台计算机可同时连接多个用户终端,而每个用户可在自己的终端上联机使用计算机,好像自己独占机器一样。分时技术把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。分时系统具有多路性、交互性、独立性、及时性等特点,允许多个用户同时联机使用计算机,是当今计算机操作系统中最普遍使用的一类操作系统。
  5. 实时系统阶段
    • 多道批处理系统和分时系统虽然能获得较令人满意的资源利用率和系统响应时间,但不能满足实时控制与实时信息处理这两个应用领域的需求,于是产生了实时系统。该系统能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件的处理,可分成实时控制系统和实时信息处理系统两类。实时操作系统的主要特点是及时响应和高可靠性。
  6. 通用操作系统阶段
    • 具有多种类型操作特征的操作系统,可以同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。
  7. 现代操作系统阶段
    • 个人电脑操作系统
      • DOS 系统:1981 年,微软公司为 IBM 个人电脑开发了 MS-DOS 系统,它是一个单用户单任务的操作系统,在 1985 年到 1995 年间占据操作系统的统治地位。后来,随着 Windows 系统的发展,DOS 逐渐退居二线。不过,在 90 年代中期开源软件兴起后,出现了很多 DOS 的衍生版本,如 FreeDOS、PTS-DOS、ROM-DOS 等。
      • Windows 系统:1985 年,微软公司发行了 Windows 操作系统的第一个版本,其界面图形化,支持多用户、多任务,具有良好的网络支持和出色的多媒体功能等,最终获得了世界个人电脑操作系统软件的垄断地位。
      • macOS 系统:是一套运行于苹果 Macintosh 系列电脑上的操作系统,1984 年推出,它是首个在商用领域成功的图形用户界面操作系统。
    • 服务器操作系统
      • Unix 系统:1969 年在 AT&T Bell 实验室诞生,是一种分时计算机操作系统,其优越性使其占领网络,大部分重要网络环节都是 Unix 构造。
      • Linux 系统:1991 年诞生,是 Unix 克隆的操作系统,在源代码上兼容绝大部分 Unix 标准,是一个支持多用户、多进程、多线程、实时性较好且稳定的操作系统,具有完全免费、良好的网络功能等特点。
    • 移动端操作系统
      • Android 系统:基于 Linux 内核开发,由 Google 公司推出,具有开放性、丰富的应用生态等特点,是目前市场占有率较高的移动端操作系统之一。
      • iOS 系统:是苹果公司为其移动设备开发的操作系统,具有流畅的用户体验、良好的安全性和优秀的应用生态等特点。

Linux 操作系统的发展和演变历程

  1. 起源背景
    • Unix 的影响:Unix 是 Linux 的重要源头。1969 年,Ken Thompson 和 Dennis Ritchie 在贝尔实验室开发出了 Unix 操作系统的原型。Unix 具有强大的功能、良好的稳定性和多用户多任务的特性,对后来的操作系统产生了深远的影响。但是,Unix 系统价格昂贵,并且其源代码受到版权保护,限制了它在普通用户和开发者中的广泛传播。
    • Minix 的启发:1987 年,Andrew S. Tanenbaum 教授为了教学目的开发了 Minix 操作系统。Minix 是一个类 Unix 操作系统,基于微内核架构,代码量较少且易于理解。它为学生学习操作系统原理提供了很好的示例,但功能相对简单,无法满足实际应用的需求。芬兰赫尔辛基大学的学生林纳斯・托瓦兹(Linus Torvalds)在学习和使用 Minix 的过程中,发现了它的不足之处,这促使他开始尝试开发自己的操作系统。
    • GNU 计划的推动:1983 年,理查德・斯托曼(Richard Stallman)发起了 GNU 计划。GNU 计划的目标是创建一套开源的、完全自由的操作系统,包括各种工具、软件包、驱动程序等。GNU 计划开发出了许多高质量的免费软件,如 Emacs 编辑系统、Bash shell 程序、GCC 系列编译程序、GDB 调试程序等,为 Linux 操作系统的开发创造了良好的环境。
  2. 诞生阶段(1991 - 1993 年)
    • 1991 年初,林纳斯・托瓦兹开始基于 Minix 编写一个操作系统内核。最初的 Linux 是用汇编语言写的,主要工作是处理 80386 的保护模式。1991 年 10 月 5 日,Linus Torvalds 在 comp.os.minix 新闻组上发布消息,正式对外宣布 Linux 内核系统诞生,最初版本为 0.0.2 版(也被称为 “Hobby”),这个版本可以运行 Bash、GCC,但功能还很不完善,主要精力放在操作系统核心的开发工作上,还没有关注用户支持、文档和版本发布等问题。
    • 1992 年,Linux 内核采用了 GNU 通用公共许可证(GPL),这使得任何人都可以自由地使用、修改和分发 Linux 内核,只要遵守相同的许可协议。这一举措使 Linux 内核成为了真正的开源项目,也促进了 Linux 内核与 GNU 计划的合作。通过将 Linux 内核与 GNU 计划提供的其他软件组件结合起来,形成了一个完整的操作系统,即 GNU/Linux 或简称 Linux。
    • 1993 年,Linux 1.0 版本发行,这是一个功能相对完备的操作系统,内核写得紧凑高效,可以充分发挥硬件的性能,标志着 Linux 操作系统开始走向成熟。
  3. 早期发行版涌现(1994 - 2000 年)
    • Slackware:1994 年,Linux 的第一个商业发行版 Slackware 问世。它是最早的 Linux 发行版之一,以简洁、稳定著称,主要面向技术熟练的用户和服务器领域。
    • Red Hat:1994 年底,Red Hat 公司成立,并于 1995 年发布了其第一个 Linux 发行版。Red Hat Linux 以易于安装和管理、丰富的软件包和良好的技术支持而受到欢迎,成为了最流行的商业 Linux 发行版之一。后来,Red Hat 公司又推出了面向企业级市场的 Red Hat Enterprise Linux(RHEL)。
    • Debian:1993 年 8 月 16 日,美国普渡大学的一名学生 Ian Murdock 首次发表了 Debian。Debian 是一个完全由社区驱动的发行版,不带有任何商业性质,坚持自由软件的理念。它拥有庞大的软件仓库,对各种硬件架构的支持良好,稳定性高,成为了许多其他发行版的基础。
    • 其他发行版:在这一时期,还出现了许多其他的 Linux 发行版,如 SuSE Linux、Mandrake Linux(后来改名为 Mandriva Linux)等,它们各自具有不同的特点和优势,满足了不同用户的需求。
  4. 快速发展阶段(2001 - 2010 年)
    • 内核的不断升级
      • 2001 年 1 月,Linux 2.4 内核发布,代码量约为 100 万行,提升了 SMP(对称多处理结构)系统的扩展性,集成了 USB、PC 卡(PCMCIA)、内置即插即用等应用功能。
      • 2003 年 12 月,Linux 2.6 内核发布,代码量超过 1000 万行,灵活性、扩展性和易操作性更强,各种应用程序集成度更高。
      • 2010 年 5 月 17 日,Linux 2.6.34 内核发布,带来了大量开源显卡驱动更新、笔记本集显独显切换支持、分布式闪存文件系统 logfs/ceph、更快的 KVM 网络支持、Btrfs 文件系统升级、VMware balloon 驱动等等。
    • 应用领域的拓展
      • 服务器领域:Linux 在服务器领域的应用越来越广泛,凭借其稳定性、安全性和高性价比,逐渐取代了 Unix 和 Windows Server 等操作系统,成为服务器市场的主流。许多大型企业和互联网公司,如谷歌、亚马逊、阿里巴巴等,都大量使用 Linux 服务器。
      • 桌面领域:一些 Linux 桌面发行版,如 Ubuntu、Fedora 等,不断改进用户界面和易用性,吸引了越来越多的普通用户。虽然 Linux 在桌面市场的份额仍然相对较小,但在一些特定领域和地区,如教育、科研、开发者群体中,得到了广泛的应用。
      • 嵌入式领域:Linux 由于其可定制性强、资源占用少、稳定性高,非常适合用于嵌入式系统,如智能手机、平板电脑、路由器、数字电视、智能家电等。2007 年,谷歌基于 Linux 开发了开源移动手机平台 Android,Android 系统迅速在全球智能手机市场占据了重要地位。
  5. 成熟与多样化阶段(2011 年至今)
    • 内核的持续演进:Linux 内核不断更新和改进,发布了多个版本,如 Linux 3.0、Linux 4.0、Linux 5.0 等,在性能、安全性、功能等方面不断提升。例如,Linux 5.4 内核支持微软 exfat 文件格式,更好地使用 U 盘、移动硬盘等便携存储设备;Linux 系统内核首次加入锁定功能,提高了系统的安全性。
    • 发行版的多样化和专业化:出现了更多针对不同用户群体和应用场景的 Linux 发行版。例如,用于云计算的发行版,如 OpenStack 的相关发行版;用于安全渗透测试的发行版,如 Kali Linux;用于教育和初学者的发行版,如 Linux Mint 的教育版等。
    • 容器技术的兴起:Docker 等容器技术的出现,使得 Linux 在应用部署和管理方面更加高效和便捷。容器技术可以将应用程序及其依赖项打包到一个独立的运行环境中,提高了应用的可移植性和部署速度,进一步推动了 Linux 在云计算和企业级应用中的发展。
    • 人工智能和机器学习的推动:随着人工智能和机器学习的快速发展,Linux 成为了这些领域的主要操作系统之一。许多人工智能和机器学习框架,如 TensorFlow、PyTorch 等,都支持 Linux 系统,并且在 Linux 上的性能表现优异。

操作系统主要由以下几个部分组成

一、进程管理

  1. 进程控制:负责创建、终止进程,以及控制进程的状态转换。例如,当你启动一个应用程序时,操作系统就会创建一个对应的进程,并为其分配必要的资源。当你关闭应用程序时,操作系统会终止该进程,回收其占用的资源。
  2. 进程调度:决定哪个进程可以使用 CPU 资源以及使用的时间长短。操作系统会根据一定的调度算法,如先来先服务、时间片轮转、优先级调度等,对多个进程进行合理的调度,以确保系统的高效运行和各个进程的公平性。比如在多任务操作系统中,操作系统会快速地在不同的进程之间切换 CPU 的使用权,让用户感觉多个程序在同时运行。
  3. 进程同步:协调多个进程之间的执行顺序,确保它们正确地共享资源和进行通信。例如,多个进程可能同时访问一个共享文件或数据库,这时就需要进程同步机制来防止数据冲突和错误。常见的进程同步方法有信号量、互斥锁、条件变量等。

二、内存管理

  1. 内存分配:为进程分配内存空间。当一个进程启动时,操作系统需要为其分配足够的内存来存储程序代码、数据和堆栈等。内存分配可以采用静态分配或动态分配的方式。静态分配在程序编译时确定所需的内存大小,而动态分配则在程序运行时根据实际需求申请和释放内存。
  2. 内存保护:确保各个进程之间的内存空间相互独立,互不干扰。操作系统通过设置内存访问权限,防止一个进程非法访问其他进程的内存区域。这样可以提高系统的安全性和稳定性,避免因一个进程的错误导致整个系统崩溃。
  3. 内存扩充:借助虚拟内存技术,将物理内存和磁盘空间结合起来,为用户提供比实际物理内存更大的内存空间。当物理内存不足时,操作系统会将部分暂时不使用的内存页面交换到磁盘上,腾出空间给当前需要运行的进程。当这些页面再次被需要时,操作系统会将其从磁盘重新加载到内存中。

三、文件管理

  1. 文件存储:负责文件在存储设备上的存储和组织。操作系统将文件存储在磁盘、固态硬盘等存储设备上,并采用特定的文件系统格式来管理文件的存储结构。常见的文件系统有 FAT32、NTFS、EXT4 等。文件系统会将存储设备划分为多个区域,如引导区、文件分配表、数据区等,以有效地管理文件的存储和检索。
  2. 文件检索:提供快速有效的方法来查找和访问文件。当用户需要访问一个文件时,操作系统会根据文件的路径名或文件名,在文件系统中进行检索,找到文件的存储位置,并将其加载到内存中供用户使用。为了提高文件检索的效率,文件系统通常会采用索引、目录结构等技术。
  3. 文件保护:确保文件的安全性和完整性,防止未经授权的访问和修改。操作系统可以通过设置文件访问权限、加密文件内容、备份文件等方式来保护文件。例如,用户可以设置文件的只读、读写、执行等权限,限制其他用户对文件的访问。

四、设备管理

  1. 设备驱动:为各种硬件设备提供软件接口,使操作系统能够与硬件设备进行通信。设备驱动程序负责将操作系统的指令转换为硬件设备能够理解的信号,并将硬件设备的状态和数据反馈给操作系统。不同的硬件设备需要不同的设备驱动程序,操作系统通常会提供一个设备驱动程序库,以便在需要时加载相应的驱动程序。
  2. 设备分配:合理分配和管理系统中的硬件设备资源,确保多个进程能够公平地使用设备。当一个进程需要使用某个设备时,操作系统会根据设备的可用性和请求的优先级进行分配。如果设备正在被其他进程使用,操作系统会将请求进程放入等待队列,直到设备可用时再进行分配。
  3. 设备缓冲:为了提高设备的访问效率,操作系统会在内存中设置设备缓冲区。当数据从设备传输到内存或从内存传输到设备时,数据会先经过缓冲区进行暂存和处理。这样可以减少设备的直接访问次数,提高数据传输的速度和系统的性能。

五、用户接口

  1. 命令行接口:允许用户通过输入命令来与操作系统进行交互。用户在命令提示符下输入特定的命令,操作系统会执行相应的操作并返回结果。命令行接口通常适用于专业用户和系统管理员,他们可以通过命令行快速地执行复杂的操作和管理任务。
  2. 图形用户接口(GUI):提供直观的图形界面,使用户可以通过鼠标、键盘等输入设备与操作系统进行交互。GUI 通常包括窗口、菜单、图标、对话框等元素,用户可以通过点击、拖动、输入等操作来完成各种任务。图形用户接口适用于普通用户,它使得操作系统的使用更加方便和易于理解。
  3. 程序接口:为应用程序提供一组系统调用,使应用程序能够请求操作系统的服务。应用程序通过调用系统调用,可以访问文件、设备、内存等资源,以及执行进程管理、线程管理等操作。系统调用是操作系统与应用程序之间的接口,它保证了应用程序在不同的操作系统上具有一定的可移植性。

Linux 操作系统商业化比较好

  1. 成本优势
    • 初始成本低:Linux 是开源的操作系统,这意味着企业或个人在获取和使用 Linux 系统时无需支付高昂的许可费用。与 Windows、macOS 等闭源操作系统相比,在大规模部署或长期使用的情况下,能够显著降低成本。对于预算有限的企业,尤其是中小型企业来说,这是一个非常重要的吸引力。例如,一家拥有数百台服务器的中型企业,如果选择使用商业闭源操作系统,仅购买操作系统的许可费用就是一笔巨大的开支,而使用 Linux 则可以节省这笔费用。
    • 后续维护成本可控Linux 系统的稳定性和可靠性较高,其代码的开放性也使得社区和企业可以根据自己的需求进行定制化的维护和优化。虽然企业可能需要投入一定的人力和物力进行维护,但相比闭源操作系统,Linux 的维护成本更加透明和可控。而且,随着 Linux 技术的不断成熟和普及,市场上有越来越多的专业技术人员可以提供相关的维护服务,进一步降低了企业的维护成本。
  2. 技术优势
    • 性能卓越
      • 高效的资源管理:Linux 操作系统在资源管理方面表现出色,能够充分利用硬件资源,实现高效的任务调度和内存管理。无论是在处理大量并发任务还是在运行对资源要求较高的应用程序时,Linux 都能够保持稳定的性能。例如,在大型数据中心,Linux 服务器可以同时处理数千个甚至数万个并发连接,而不会出现明显的性能下降4。
      • 良好的可扩展性:Linux 系统具有很强的可扩展性,可以轻松地适应不同规模和类型的硬件设备。无论是在小型的嵌入式设备上,还是在大型的超级计算机上,Linux 都能够稳定运行。这种可扩展性使得企业可以根据自己的业务需求,灵活地选择硬件设备,而不必担心操作系统的兼容性问题。
    • 高度定制化:由于 Linux 的源代码是开放的,企业和开发者可以根据自己的特定需求对操作系统进行定制化开发。他们可以修改内核参数、添加或删除特定的功能模块,以满足不同业务场景的需求。例如,一些金融机构可能需要对 Linux 系统进行安全增强,以满足严格的监管要求;一些物联网企业可能需要对 Linux 进行裁剪和优化,以适应嵌入式设备的资源限制。
    • 安全可靠
      • 强大的安全机制:Linux 拥有严格的访问控制和权限管理机制,可以有效地防止未经授权的访问和恶意攻击。而且,Linux 社区非常重视安全问题,会及时发布安全补丁和更新,保障系统的安全性。相比之下,一些闭源操作系统的安全漏洞可能会被隐藏较长时间,给用户带来安全风险。
      • 稳定性高:Linux 系统经过了长时间的发展和优化,具有很高的稳定性和可靠性。它可以长时间运行而不需要频繁重启,能够保证企业业务的连续性。例如,许多互联网公司的服务器都采用 Linux 操作系统,其在线时间可以长达数年甚至更长。
  3. 生态优势
    • 丰富的软件支持:Linux 拥有庞大的开源软件生态系统,涵盖了各种类型的应用软件,如数据库、Web 服务器、办公软件等。企业可以根据自己的需求选择合适的开源软件,与 Linux 系统进行集成,快速构建自己的业务系统。而且,这些开源软件通常具有很高的质量和稳定性,能够满足企业的业务需求4。
    • 庞大的开发者社区:Linux 拥有全球范围内的庞大开发者社区,这些开发者不断地为 Linux 系统贡献代码、修复漏洞、添加新功能。企业可以借助开发者社区的力量,获取技术支持和解决方案,加快自己的业务创新和发展。例如,如果企业在使用 Linux 过程中遇到了技术问题,可以在社区中寻求帮助,往往能够得到快速的响应和解决4。
  4. 市场和商业策略的推动
    • 商业公司的支持:许多商业公司看到了 Linux 的商业潜力,纷纷投入到 Linux 的开发和推广中。例如,红帽公司(Red Hat)是 Linux 商业化的成功典范,它为企业提供了专业的 Linux 发行版和技术支持服务,帮助企业更好地使用 Linux 系统。这些商业公司的参与,提高了 Linux 的易用性和可管理性,推动了 Linux 的商业化进程124。
    • 云计算和大数据的发展:随着云计算和大数据技术的快速发展,Linux 作为服务器操作系统的优势更加凸显。许多云计算服务提供商和大数据平台都采用 Linux 操作系统,这进一步推动了 Linux 在企业中的应用和商业化。例如,亚马逊的 AWS、谷歌的 GCP 等云计算平台,以及 Hadoop、Spark 等大数据平台,都基于 Linux 系统构建。

Linux 操作系统之所以商业化比较好,原因之一在于其演变流程长且开源的特性。开源意味着其代码对所有人开放,大家能够清楚地看到系统的各个部分,一旦发现问题可以及时反馈和改进。这并非仅仅因为开源带来的改进速度快而使得安全性高,更重要的是,正因为开源,大家才能确切地知道系统中可能存在的问题,从而有针对性地进行修复和完善,极大地提高了系统的安全性。

微软、iOS、Linux 的发展对比 

 
  • 发展历程
    • 微软:微软的 Windows 操作系统诞生于上世纪 80 年代,从最初的 Windows 1.0 不断迭代升级,逐渐成为个人电脑操作系统的主导。在发展过程中,经历了从面向桌面电脑到适应笔记本、平板电脑等多种设备的转变。例如,Windows 95 系统的推出具有划时代意义,让图形化操作界面真正普及,奠定了微软在操作系统领域的重要地位。此后,Windows XP、Windows 7 等版本都取得了巨大成功,拥有广泛的用户基础。
    • iOS:iOS 是苹果公司为其移动设备开发的操作系统,随着 2007 年第一代 iPhone 的发布而诞生。iOS 从一开始就以简洁、流畅的用户体验和高度的安全性为特点,迅速获得了用户的认可。随着苹果不断推出新的 iPhone、iPad 等设备,iOS 也在不断更新和完善,功能日益丰富,如 Siri 智能语音助手的加入、Face ID 等生物识别技术的应用等。
    • Linux:Linux 诞生于 1991 年,由芬兰大学生 Linus Torvalds 开发。最初它是作为一个类 Unix 操作系统的自由软件项目,后来逐渐发展成为一个具有广泛应用的操作系统。Linux 的发展主要依靠全球开发者社区的贡献,其内核不断更新和优化,发行版也越来越多,如 Ubuntu、Red Hat、CentOS 等,被广泛应用于服务器、超级计算机、嵌入式系统等领域。
  • 技术特点
    • 微软:Windows 操作系统具有良好的兼容性,能够支持大量的硬件设备和软件应用。它的图形用户界面易于操作,适合普通用户使用。在安全性方面,微软不断加强 Windows 的安全防护机制,但由于其代码的封闭性,在面对新型安全威胁时,响应速度可能相对较慢。此外,Windows 在多任务处理和资源管理方面也有较好的表现。
    • iOS:iOS 以其封闭性和高度的优化而著称。苹果公司对硬件和软件的紧密结合使得 iOS 在运行效率上非常高,系统的流畅性和稳定性极佳。iOS 的安全性也备受认可,其应用商店的审核机制严格,能够有效防止恶意软件的入侵。然而,这种封闭性也导致了 iOS 的可定制性较低,用户对系统的个性化设置选项相对较少。
    • Linux:Linux 是开源的操作系统,具有高度的可定制性和灵活性。用户可以根据自己的需求对 Linux 系统进行修改和优化,适应不同的应用场景。Linux 在服务器领域表现出色,其稳定性和可靠性高,能够长时间运行而不出现故障。同时,Linux 对硬件资源的需求相对较低,适合在老旧设备或资源有限的环境中使用。

战略定位和操作系统的受众对比

  • 微软
    • 战略定位:微软将 Windows 操作系统定位为面向大众用户和企业用户的综合性操作系统。一方面,为普通消费者提供日常办公、娱乐、学习等方面的功能;另一方面,针对企业用户提供专业的企业级解决方案,如 Windows Server 操作系统用于企业服务器管理、Active Directory 用于企业用户管理等。微软还积极推动 Windows 操作系统与云计算、人工智能等新兴技术的融合,如推出 Windows Copilot 等人工智能功能。
    • 受众:普通消费者是微软的重要受众群体,他们使用 Windows 操作系统进行日常的工作、学习和娱乐。此外,企业用户也是微软的主要受众,尤其是大型企业和机构,他们需要稳定、安全、功能强大的操作系统来支持其业务运营。例如,许多企业的办公电脑都安装了 Windows 操作系统,并使用微软的办公软件套件进行办公。
    • 原因:微软选择这样的定位主要是因为 Windows 操作系统在个人电脑市场具有广泛的用户基础和较高的市场占有率。通过不断拓展功能和应用场景,微软能够满足不同用户群体的需求,从而保持其在操作系统市场的竞争力。此外,企业市场对于操作系统的需求巨大,微软通过提供专业的企业级解决方案,能够获得稳定的收入和市场份额。
  • iOS
    • 战略定位:苹果公司将 iOS 定位为高端、安全、流畅的移动操作系统,主要面向苹果设备的用户。iOS 注重用户体验和生态系统的建设,通过与苹果的硬件设备紧密结合,为用户提供一体化的使用体验。苹果公司还积极推动开发者为 iOS 平台开发高质量的应用程序,不断丰富 iOS 的应用生态。
    • 受众:iOS 的受众主要是追求高品质、注重用户体验的用户,尤其是苹果设备的忠实粉丝。这些用户愿意为苹果的产品和服务支付较高的价格,对系统的安全性、流畅性和应用质量有较高的要求。此外,由于 iOS 在设计、创意等领域的应用表现出色,也吸引了很多设计师、摄影师、音乐制作人等专业用户。
    • 原因:苹果公司一直以来注重产品的品质和用户体验,通过打造高端的硬件设备和优秀的操作系统,树立了良好的品牌形象。iOS 的封闭性虽然限制了用户的一些操作,但也保证了系统的安全性和稳定性,符合高端用户的需求。同时,苹果公司强大的品牌影响力和营销能力,也吸引了大量用户选择 iOS 操作系统。
  • Linux
    • 战略定位:Linux 的战略定位是作为一个自由、开源、稳定、高效的操作系统,广泛应用于服务器、超级计算机、嵌入式系统等领域。Linux 注重技术的开放性和可扩展性,为开发者和企业提供了一个自由创新的平台。
    • 受众:Linux 的受众主要包括开发者、企业用户、科研机构和技术爱好者等。开发者可以根据自己的需求对 Linux 系统进行定制和开发,企业用户可以利用 Linux 的稳定性和低成本来搭建服务器和企业级应用。科研机构则使用 Linux 进行科学计算和数据分析等工作。
    • 原因:Linux 的开源特性使其能够吸引全球的开发者参与到系统的开发和改进中,不断提升系统的性能和功能。对于企业用户来说,Linux 的免费使用和低成本维护能够降低企业的 IT 成本,同时其高度的可定制性和稳定性也能够满足企业的业务需求。在科研领域,Linux 的强大计算能力和可扩展性使其成为科研人员的首选操作系统。

开源闭源

一、开源

  1. 定义

    • 开源即开放源代码,指的是软件的源代码可以被公众获取、使用、修改和分发。
  2. 特点:

    • 透明度高:任何人都可以查看源代码,了解软件的工作原理和实现方式。这有助于发现和修复潜在的安全漏洞,提高软件的质量和可靠性。
    • 可定制性强:用户可以根据自己的需求对软件进行修改和定制,满足特定的业务需求。
    • 社区驱动:开源项目通常由一个庞大的社区共同维护和发展。社区成员可以提交代码改进、报告问题、提供技术支持等,促进软件的不断完善。
    • 免费使用:大多数开源软件可以免费使用,降低了用户的成本。
  3. 例子

    • Linux 操作系统是开源软件的典型代表。它被广泛应用于服务器、超级计算机、移动设备等领域。由于其开源特性,吸引了全球众多开发者的参与,不断推动其发展和创新。
    • Apache HTTP Server 是一款流行的开源 Web 服务器软件,被大量网站和企业所采用。

二、闭源

  1. 定义

    • 闭源即不开放源代码,软件的源代码是私有的,只有软件的开发者或拥有者才能访问和修改。
  2. 特点:

    • 商业利益保护:闭源软件的开发者可以通过销售软件许可证来获取商业利益。源代码的保密性有助于保护他们的知识产权和竞争优势。
    • 专业支持:闭源软件通常由软件公司提供专业的技术支持和维护服务,确保软件的稳定性和可靠性。
    • 安全性较高:由于源代码不公开,潜在的安全漏洞相对较少被暴露,降低了被攻击的风险。
  3. 例子

    • Windows 操作系统是闭源软件的代表之一。微软公司对其源代码进行严格保密,通过销售软件许可证获取收入,并提供技术支持和更新服务。
    • Adobe Photoshop 是一款专业的图像编辑软件,也是闭源软件。它以其强大的功能和专业的设计受到广泛欢迎。

总的来说,开源和闭源各有优缺点,选择哪种方式取决于具体的需求和情况。开源软件在灵活性、社区支持和成本方面具有优势,而闭源软件在商业利益保护、专业支持和安全性方面表现出色。

Linux 操作系统的版本 

一、Ubuntu

  1. 版本发布周期与支持政策
    • Ubuntu 通常每 6 个月发布一个新版本,版本号采用 YY.MM 的格式,其中 YY 表示年份的后两位,MM 表示月份。例如,Ubuntu 20.04 于 2020 年 4 月发布。
    • 它还有长期支持版本(LTS),每两年发布一次。LTS 版本提供 5 年的桌面版支持和长达 10 年的服务器版支持。这种支持包括安全更新、软件维护和修复漏洞等,为企业和长期用户提供了稳定的使用环境。
  2. 桌面环境与用户体验
    • Ubuntu 默认使用 GNOME 桌面环境,它提供了简洁、美观且易于操作的图形界面。用户可以通过图形界面方便地访问文件、启动应用程序和进行系统设置。
    • 对于开发者和高级用户,Ubuntu 也提供了命令行界面,方便他们进行系统管理和软件开发。Ubuntu 还支持多种语言,适合不同国家和地区的用户使用。
  3. 软件包管理与应用生态
    • Ubuntu 采用 APT(Advanced Package Tool)作为软件包管理系统。APT 可以方便地搜索、安装、升级和删除软件包。它拥有庞大的软件仓库,涵盖了办公、娱乐、开发等各个领域的软件。
    • 例如,用户可以通过命令 “sudo apt-get install firefox” 轻松安装火狐浏览器。Ubuntu 的应用生态系统非常丰富,无论是初学者还是专业用户都能找到满足自己需求的软件。
 

二、CentOS

  1. 与 Red Hat Enterprise Linux 的关系
    • CentOS 是基于 Red Hat Enterprise Linux(RHEL)源代码构建的。它与 RHEL 高度兼容,几乎所有在 RHEL 上运行的软件和应用程序都可以在 CentOS 上运行。
    • 这种关系使得 CentOS 继承了 RHEL 的稳定性和可靠性,成为企业级服务器应用的首选之一。CentOS 的更新也会随着 RHEL 的内核更新而同步进行,确保系统的安全性和性能。
  2. 稳定性与可靠性
    • CentOS 以其高度的稳定性和可靠性而闻名。它经过了严格的测试和审核,适合运行关键业务应用程序,如企业级数据库、Web 服务器和邮件服务器等。
    • 由于其免费使用的特性,许多中小企业和创业公司选择 CentOS 作为服务器操作系统,以降低成本并获得可靠的服务。
  3. 软件包管理与服务器应用
    • CentOS 采用 yum(Yellowdog Updater, Modified)作为软件包管理系统。yum 可以方便地查找、安装和更新软件包。它的软件仓库中包含了大量与服务器相关的软件,如 Apache HTTP Server、MySQL 数据库等。
    • 例如,用户可以通过命令 “sudo yum install httpd” 安装 Apache HTTP Server。CentOS 为服务器应用提供了丰富的资源和良好的环境,方便企业用户进行服务器管理和运营。
 

三、Fedora

  1. 与 Red Hat 的关系及创新特点
    • Fedora 是 Red Hat 公司赞助的社区版本。它与 Red Hat 有密切的关系,Red Hat 公司会将一些新技术和创新理念首先在 Fedora 上进行试验和推广。
    • Fedora 通常会率先引入新的技术和功能,如最新的内核版本、新的桌面环境或新的软件管理系统等。这使得 Fedora 成为技术爱好者和开发者的首选,他们可以在 Fedora 上体验和测试最新的技术。
  2. 桌面环境与多样性
    • Fedora 支持多种桌面环境,如 GNOME、KDE、XFCE 等。用户可以根据自己的喜好选择不同的桌面环境。GNOME 桌面环境在 Fedora 上得到了优化,提供了简洁、美观的用户界面。
    • 不同的桌面环境具有不同的特点和优势,例如 KDE 桌面环境提供了更加丰富的可定制性,XFCE 桌面环境则更适合资源有限的设备。
  3. 软件包管理与技术更新
    • Fedora 采用 DNF(Dandified Yum)作为软件包管理系统。DNF 在 yum 的基础上进行了改进,提高了软件包管理的效率和准确性。
    • Fedora 紧密跟踪 Linux 内核的最新进展,及时将新的内核版本集成到自己的发行版中。它还会不断更新软件包,为用户提供最新的技术和应用。例如,用户可以通过命令 “sudo DNF install firefox” 安装火狐浏览器。
 

四、Debian

  1. 稳定性与自由软件理念
    • Debian 以其高度的稳定性和对自由软件理念的坚持而著称。它经过了严格的测试和审核,所有软件都是自由使用、修改和分发的。
    • Debian 的稳定性使得它适合运行关键业务应用程序,如企业级数据库、Web 服务器和邮件服务器等。它的自由软件理念也吸引了众多自由软件爱好者和开发者。
  2. 软件包管理与庞大的软件库
    • Debian 采用 APT(Advanced Package Tool)作为软件包管理系统,与 Ubuntu 相同。APT 可以方便地搜索、安装、升级和删除软件包。
    • Debian 拥有庞大的软件库,涵盖了办公、娱乐、开发等各个领域的软件。它的软件库中还包含了一些独特的软件,如一些特定领域的研究工具和开发环境。
  3. 桌面环境与用户体验
    • Debian 默认使用 GNOME 桌面环境,但它也支持其他桌面环境,如 KDE、XFCE 等。用户可以根据自己的喜好选择不同的桌面环境。
    • 对于开发者和高级用户,Debian 也提供了命令行界面,方便他们进行系统管理和软件开发。Debian 的用户体验取决于所选的桌面环境,但总体来说,它提供了稳定、可靠的使用环境。
 

五、openSUSE

  1. 易用性与美观性
    • openSUSE 拥有美观的用户界面和易用的安装程序,提供了良好的用户体验。它的图形界面设计精美,操作方便,适合初学者和普通用户使用。
    • openSUSE 还提供了多种桌面环境选择,如 GNOME、KDE 等。用户可以根据自己的喜好选择不同的桌面环境,以获得更好的体验。
  2. 软件包管理与企业级支持
    • openSUSE 采用 YaST(Yet Another Software Tool)作为软件包管理系统。YaST 是一个非常强大的软件管理工具,可以方便地查找、安装、更新和删除软件包。
    • openSUSE 提供企业级的支持和服务,适合企业用户。它的企业级支持包括技术咨询、软件维护和安全更新等,为企业用户提供了稳定的使用环境。
  3. 桌面环境与多样性
    • openSUSE 支持多种桌面环境,如 GNOME、KDE 等。用户可以根据自己的简报选择不同的桌面环境。不同的桌面环境具有不同的特点和优势,例如 KDE 桌面环境提供了更加丰富的可定制性,GNOME 桌面环境则提供了简洁、美观的用户界面。
 

Linux 操作系统的各个版本都有其独特的特点和优势,用户可以根据自己的需求和偏好选择适合自己的版本。

 

这些只是 Linux 操作系统的一部分发行版,每个发行版都有其独特的特点和优势,用户可以根据自己的需求和偏好选择适合自己的版本。

Linux操作系统和C语言之间的关系

一、Linux 的诞生与 C 语言

Linux 操作系统是由林纳斯・托瓦兹(Linus Torvalds)使用 C 语言开发的。在开发 Linux 的过程中,C 语言的高效性、灵活性和可移植性使得托瓦兹能够快速构建出一个功能强大的操作系统内核。C 语言允许直接访问硬件资源,这对于操作系统的开发至关重要,因为操作系统需要对计算机的硬件进行管理和控制。

 

二、性能优势

  1. 高效性

    • C 语言是一种编译型语言,其执行效率非常高。在操作系统这样对性能要求极高的环境中,C 语言能够确保系统的快速响应和高效运行。
    • Linux 操作系统中的许多关键部分,如内核、驱动程序和系统工具,都是用 C 语言编写的,以充分发挥 C 语言的性能优势。
  2. 可移植性

    • C 语言具有良好的可移植性,这意味着用 C 语言编写的程序可以在不同的硬件平台和操作系统上运行。
    • Linux 能够在各种不同的硬件架构上运行,很大程度上得益于 C 语言的可移植性。开发者可以使用 C 语言编写一次代码,然后在不同的平台上进行编译和运行,从而实现了 Linux 的广泛适用性。
 

三、开发工具和库

  1. 丰富的开发工具

    • 在 Linux 环境下,有许多针对 C 语言开发的工具,如编译器(如 GCC)、调试器(如 GDB)和性能分析工具等。这些工具为开发者提供了强大的开发支持,使得在 Linux 上进行 C 语言开发变得更加高效和便捷。
  2. 标准库和第三方库

    • C 语言的标准库在 Linux 中得到了广泛的应用,提供了诸如文件操作、内存管理、字符串处理等基本功能。
    • 此外,Linux 上还有许多第三方 C 语言库,如网络编程库(如 libevent、libcurl)、图形库(如 GTK+、Qt)等,这些库丰富了 C 语言在 Linux 上的开发能力,使得开发者能够更加轻松地构建各种类型的应用程序。
 

四、社区和生态系统

  1. 活跃的社区

    • Linux 和 C 语言都拥有庞大而活跃的开发者社区。开发者们在社区中分享经验、交流技术、提供解决方案,共同推动着 Linux 和 C 语言的发展。
    • 在社区中,你可以找到大量的关于 Linux 和 C 语言的教程、文档、开源项目和技术论坛,为学习和使用这两种技术提供了丰富的资源。
  2. 开源生态系统

    • Linux 是开源操作系统的代表,而 C 语言也广泛应用于开源项目中。开源的生态系统使得开发者可以自由地获取和修改源代码,促进了技术的创新和进步。
    • 许多开源项目都是用 C 语言在 Linux 平台上开发的,这些项目不仅为用户提供了丰富的功能,也为开发者提供了学习和借鉴的机会。
 

总之,Linux 操作系统和 C 语言相互依存、相互促进。C 语言为 Linux 的开发提供了强大的工具和技术支持,而 Linux 也为 C 语言的应用提供了广阔的平台和丰富的资源。无论是在操作系统开发、服务器编程、嵌入式系统还是其他领域,Linux 和 C 语言的组合都展现出了强大的实力和广泛的应用前景。

 Linux 与其他编程语言的关系

一、Linux 与其他编程语言的关系

  1. Python

    • Python 在 Linux 系统中被广泛应用。它可以用于系统管理脚本、自动化任务、数据分析等。Linux 系统通常自带 Python 解释器,方便用户直接使用。Python 的简洁语法和丰富的库使得开发者能够快速开发各种应用程序。
    • 例如,在服务器管理中,可以使用 Python 编写脚本来监控系统资源、自动部署应用程序等。
  2. Java

    • Java 也可以在 Linux 上运行。Linux 上有多种 Java 运行环境(JRE)和开发工具包(JDK)可供选择。Java 的跨平台特性使得开发的应用程序可以在不同的操作系统上运行,包括 Linux。
    • 许多企业级应用和大型软件系统都选择 Java 在 Linux 服务器上部署,因为它具有良好的性能和可靠性。
  3. Shell 脚本语言

    • Shell 脚本在 Linux 系统管理中起着重要作用。Bash、Zsh 等 Shell 语言可以用于编写系统启动脚本、任务调度脚本等。它们与 Linux 系统紧密结合,能够方便地调用系统命令和工具。
    • 例如,通过编写 Shell 脚本可以实现自动化备份、系统配置等任务。
  4. Ruby、Perl 等其他语言

    • 这些语言在 Linux 环境中也有一定的应用。它们各自具有特定的优势和适用场景,例如 Ruby 在 Web 开发中的应用,Perl 在文本处理方面的强大功能等。

二、Linux 中大部分使用 C 语言而不是 C++ 的原因

  1. 性能考虑

    • C 语言是一种高效的编程语言,它直接操作硬件资源,生成的代码执行效率高。对于操作系统内核等对性能要求极高的部分,C 语言能够提供更好的性能。
    • 相比之下,C++ 虽然也可以实现高效的代码,但由于其面向对象的特性和更复杂的语法,可能会引入一些额外的开销。
  2. 稳定性和可维护性

    • Linux 内核需要高度的稳定性和可靠性。C 语言的语法相对简单,代码更加清晰易懂,容易进行维护和调试。
    • C++ 的复杂特性可能会导致代码的复杂性增加,从而增加了出现错误的风险,并且在维护和调试时可能会更加困难。
  3. 兼容性和可移植性

    • C 语言具有良好的兼容性和可移植性。它可以在不同的硬件平台和操作系统上运行,并且与其他编程语言和工具的兼容性较好。
    • Linux 需要支持各种不同的硬件架构和设备,C 语言的可移植性使得内核能够在不同的平台上运行。而 C++ 的一些特性可能会在不同的编译器和平台上表现出不一致性。
  4. 历史原因

    • Linux 最初是用 C 语言开发的,并且在发展过程中积累了大量的 C 语言代码。切换到 C++ 需要进行大规模的代码重构,这将是一项巨大的工程。
    • 开发者对 C 语言更加熟悉,并且有丰富的 C 语言开发经验和资源。继续使用 C 语言可以充分利用这些经验和资源,提高开发效率。

综上所述,虽然 Linux 系统中也可以使用其他编程语言,但 C 语言在 Linux 操作系统的开发中占据着重要地位。其高效性、稳定性、可维护性和可移植性使得它成为开发操作系统内核和系统工具的首选语言。而 C++ 虽然在某些应用场景中也有优势,但在 Linux 系统的核心部分,C 语言仍然是主要的开发语言。

Linux操作系统版本精讲

一、Linux 官网

不同的 Linux 发行版有不同的官网:

二、购买云服务器及流程(以腾讯云为例)

  1. 注册账号并登录腾讯云官网。
  2. 在产品列表中找到 “云服务器” 或 “轻量应用服务器”。
  3. 根据需求选择配置,如地域、操作系统(可选 Linux 发行版)、CPU 和内存等。
  4. 设置购买时长和数量,确认订单并支付。

三、云服务器安装及使用流程

  1. 购买成功后,在控制台找到对应的云服务器实例。
  2. 获取登录凭证,一般可以通过 SSH 密钥或用户名密码方式登录。
  3. 使用 SSH 客户端(如 PuTTY、XShell 等)连接到云服务器。
  4. 根据需要进行软件安装、配置服务器环境等操作。

四、虚拟机和云服务的区别

  1. 性能:

    • 云服务通常由专业的云服务提供商在强大的物理服务器集群上构建,具有较高的性能和稳定性。可以根据需求灵活调整配置。
    • 虚拟机在本地计算机上运行,性能受限于本地硬件资源。
  2. 可用性:

    • 云服务一般具有高可用性,提供商通常会有数据备份、容灾等措施,保证服务的连续性。
    • 虚拟机如果本地计算机出现故障,可能会导致服务中断。
  3. 管理便捷性:

    • 云服务可以通过网页控制台进行管理,操作方便,无需担心硬件维护。
    • 虚拟机需要在本地安装和管理虚拟机软件,相对较为复杂。
  4. 成本:

    • 云服务通常是按需付费,对于短期或临时需求可能成本较低。但长期使用可能费用较高。
    • 虚拟机软件可能是免费的,但需要考虑本地硬件成本和维护成本。

五、Linux 版本介绍

不同的 Linux 发行版有不同的特点:

  • Ubuntu:以易用性和丰富的软件仓库著称,适合初学者和桌面用户。
  • CentOS:基于 Red Hat Enterprise Linux 源代码构建,稳定性高,适合服务器环境。
  • Fedora:具有创新性,经常引入新的技术和功能,适合开发者和技术爱好者。

六、采取 8.0 以下版本不包括 8.0

  1. 稳定性考虑:较低版本经过了长时间的测试和使用,更加稳定可靠。一些新的版本可能会引入一些未知的问题。
  2. 兼容性:某些软件或应用可能在较低版本的 Linux 上具有更好的兼容性。如果使用的软件对特定版本有要求,选择较低版本可以确保顺利运行。
  3. 资源需求:较低版本可能对硬件资源的要求较低,适合在资源有限的环境中使用,如老旧设备或轻量级服务器。
  4. 熟悉程度:对于一些用户或团队来说,他们可能对特定的低版本 Linux 更加熟悉,使用起来更加得心应手,减少了学习成本和风险。

Ubuntu、CentOS 和 Fedora 都是 Linux 操作系统的发行版本。

 

一、Linux 内核是核心基础

Linux 操作系统的核心是 Linux 内核,它负责管理计算机硬件资源(如 CPU、内存、硬盘、网络设备等),并为上层应用程序和系统软件提供统一接口。Ubuntu、CentOS 和 Fedora 都基于 Linux 内核构建。

 

二、Ubuntu 作为发行版

  • 构建与定制
    • Ubuntu 在 Linux 内核基础上,由 Canonical 公司进行开发和定制。它添加了自己的软件包管理系统(APT)、桌面环境(如 GNOME)以及一系列实用工具和应用程序。
    • 例如,Ubuntu 的桌面版提供了简洁易用的图形界面,适合初学者和普通用户使用;服务器版则可用于搭建各种服务器应用,如 Web 服务器、数据库服务器等。
  • 社区与更新
    • Ubuntu 拥有庞大的用户社区和开发者社区。它紧密跟踪 Linux 内核的发展,及时将新的内核版本集成到自己的发行版中,以保持系统的先进性和兼容性。
 

三、CentOS 作为发行版

  • 基于 RHEL 的构建
    • CentOS 基于 Red Hat Enterprise Linux(RHEL)源代码构建。它使用与 RHEL 相同的 Linux 内核版本,并根据 RHEL 的内核更新情况同步更新。
    • 在 Linux 内核基础上,CentOS 添加了自己的软件包管理系统(yum)以及大量与服务器相关的工具和应用程序,如用于服务器管理的脚本工具等。
  • 企业应用与稳定性
    • 以稳定性和可靠性著称,广泛应用于企业级服务器环境。由于免费使用,为企业节省了大量软件许可费用,同时其庞大的用户社区提供了丰富的技术支持和资源。
 

四、Fedora 作为发行版

  • Red Hat 赞助的社区版
    • Fedora 是 Red Hat 公司赞助的社区版本。它在 Linux 内核基础上,由 Red Hat 公司和社区开发者共同开发和定制。
    • 添加了自己的软件包管理系统(DNF)、桌面环境(如 GNOME)以及各种实用工具和应用程序。它支持多种桌面环境选择,如 GNOME、KDE 等。
  • 创新与技术领先
    • 以创新和技术领先为特点,经常率先引入新的技术和并行机制,是很多技术爱好者和开发者的首选。它紧密跟踪 Linux 内核的最新进展,及时将新的内核版本集成到自己的发行版中。
 

Ubuntu、CentOS 和 Fedora 都是 Linux 操作系统的发行版,它们在 Linux 内核基础上进行了不同的开发和定制,拥有各自的特点和应用场景,为用户提供了多样化的选择。

Linux 环境的搭建方式

Linux 环境的搭建主要有三种方式:

 
  1. 直接安装在物理机上,但 Linux 桌面使用体验不佳,不推荐这种方式。
  2. 使用虚拟机软件搭建在虚拟机上,不过当前虚拟机软件(如 VMWare 等)存在一些 bug,会导致环境出现各种莫名问题,比较麻烦。
  3. 使用云服务器,可在腾讯云、阿里云或华为云等服务器厂商处购买。腾讯云、阿里云等为学生提供优惠,通过学生认证后最低 10 元 / 月,甚至多人可共用一台服务器,平均每人每月费用更低。使用云服务器不仅搭建环境简单,还可使部署的项目被外网访问,如同公司发布正式网站,能让自己写的程序供他人使用。
 

以腾讯云为例购买云服务器的步骤如下:

  1. 进入官方网站学生云服务器_学生云主机_学生云数据库_云+校园特惠套餐 - 腾讯云(可通过百度搜索 “腾讯云校园计划” 进入)。
  2. 登录网站(可使用 qq 或微信登录)并进行学生认证(需提供相关学生证件等信息)。
  3. 在产品列表中找到合适的云服务器产品,如轻量级应用服务器等,并查看配置和价格详情。
  4. 根据自身需求选择服务器的配置参数,包括但不限于地域(不同地域可能影响访问速度等)、操作系统(可选择 Linux 的不同发行版,如 Ubuntu、CentOS 等)、CPU 核心数、内存大小等。
  5. 确认订单信息,包括购买时长(有月付、季付、年付等选项),然后支付相应费用。

使用云服务器搭建 Linux 环境的步骤如下:

  1. 购买成功后,进入腾讯云控制台,找到所购买的云服务器实例。
  2. 获取登录凭证,可能是用户名和密码组合,或者是 SSH 密钥对(推荐使用 SSH 密钥对,安全性更高)。
  3. 使用 SSH 客户端工具(如 PuTTY 等),输入服务器的公网 IP 地址以及对应的登录凭证,连接到云服务器。
  4. 连接成功后,进入 Linux 命令行环境,可根据需要进行相关软件的安装和配置操作,例如安装开发工具(如 GCC 等)、数据库(如 MySQL 等)、Web 服务器(如 Apache 等)等,以满足项目开发或部署的需求。

这里直接买最便宜的(学生),当然最后我买的华为云,因为更便宜

 

以华为云为例购买云服务器的步骤如下:

进入官方网站

  • 华为云为学生也提供了相关优惠活动。可以直接访问华为云官方网站:https://www.huaweicloud.com/
  • 也可通过百度搜索 “华为云学生优惠” 等关键词进入相关活动页面。

登录网站并进行学生认证

  • 点击网站右上角的 “登录” 按钮,可选择使用华为账号登录,如果没有华为账号,可以通过手机号等方式注册。登录后,进入个人中心,在相关页面查找学生认证入口(一般在账号设置或个人信息页面附近),按照要求提供相关学生证件等信息进行学生认证。
 

在产品列表中找到合适的云服务器产品并查看详情

  • 认证完成后,在华为云的产品列表中查找云服务器产品。华为云提供了多种类型的云服务器,如通用计算型、内存优化型等,可根据自身需求选择合适的类型。对于学生或初学者来说,可能通用计算型的轻量级应用服务器较为合适。找到合适的产品后,点击进入产品详情页面,查看其配置和价格详情,包括 CPU 核心数、内存大小、硬盘容量、网络带宽等信息。
 

根据自身需求选择服务器的配置参数

  • 地域选择:不同地域可能会影响访问速度等,可根据自己及目标用户的主要分布区域来选择。例如,如果主要面向国内用户,可选择国内的数据中心地域。
  • 操作系统选择:可选择 Linux 的不同发行版,如 Ubuntu、CentOS 等,也可选择 Windows 操作系统。如果是用于学习 Linux 或开发相关项目,选择 Linux 发行版更为合适。
  • CPU 核心数和内存大小:根据自己的项目需求和预算来选择。如果只是进行一些简单的学习和测试,较低的 CPU 核心数和内存大小可能就足够;如果要运行较为复杂的应用程序或多个应用程序同时运行,则需要选择较高的配置。

确认订单信息并支付费用

  • 选择好配置参数后,确认订单信息,包括购买时长(有月付、季付、年付等选项)。华为云可能还会提供一些额外的增值服务,如数据备份、安全防护等,可根据自身需求决定是否选择。确认无误后,支付相应费用。支付方式一般包括银行卡支付、支付宝支付、微信支付等。

 华为云的好处就是还有手机app,我们可以直接电脑购买,购买之后直接手机操作

普惠上云专区_云上优选特惠来袭_云服务器_企业上云-华为云

这里买最便宜的

但是,只能买一次

买好的时候直接选择你想要的镜像就可以

这里选择镜像的时候我们需要注意,因为前期博客的讲解主要是centos为主进行讲解,我这里选择的是7.6版本,后期会更换系统,因为云服务器可以一键重新安装系统,所以比较方便,关于什么是镜像还有软件的安装和系统的讲解,后期都会进行讲解,前期按照步骤安装就可以

买好之后,我们不用在网页操作,王我觉得很麻烦也不好找,这里直接给你连接,可以看看

Flexus云服务 - 控制台

但是我更喜欢手机操作,下载华为云app

这里点开就可以操作,这里我们可以改一下登录密码

XShell 远程登录到 Linux 的详细介绍:

A:软件链接:

XShell 是一款强大的远程连接工具,常用于连接到 Linux 服务器进行远程操作。

通过网盘分享的文件:Xshell-8.0.0057p.exe

链接: https://pan.baidu.com/s/1-PbwvVRD2naY4e8Szd0CpA

提取码: 1234 --来自百度网盘超级会员v4的分享

B:准备工作(下载软件)

  1. Linux 服务器设置
    • 确保 Linux 服务器已开启,并配置好网络,具有可被访问的 IP 地址(可以是公网 IP 或局域网 IP)(简单的说就是确保你买的云服务器是运行的,一般都是运行的
    • 安装并配置好 SSH 服务(Secure Shell 服务),SSH 是一种网络协议,用于提供安全的远程登录和其他安全网络服务。大多数 Linux 发行版默认安装并启动了 SSH 服务,如果未安装,可以通过相应的软件包管理器进行安装。(简单的说一般电脑都会自带的,这里多说一句
  2. XShell 安装
    • 在本地计算机上下载并安装 XShell 软件。可以从其官方网站获取安装程序,安装过程按照提示操作即可。

C:登录过程

  1. 打开 XShell

    • 安装完成后,启动 XShell 应用程序。
  2. 创建新会话

    • 在 XShell 主界面中,点击 “新建” 按钮或者选择 “文件”-“新建” 来创建一个新的连接会话。
  3. 输入名称+云服务器ip
    买的如果是华为云服务器可以直接下载手机app,查看ip地址
    买的如果是其他的云服务器,可以网页查看云服务器地址



  4. 输入用户名默认是root,因为新的服务器里面只有一个账户,那就是root

  5. 输入我们当时设置的密码,也是同理
    买的如果是华为云服务器可以直接下载手机app,查看密码
    买的如果是其他的云服务器,可以网页查看云服务器查看密码
    之后我们可以更改密码

  6. 此时进入到登录页面

  7. 如果我们退出了,此时就是会变成c:这样的提示符,我们可以重写进入

  8. 重新进入root

    进入页面是这个提示符

    登录的命令是:ssh root@116.205.119.219(ip)

    也就是,ssh 名称@ip

    输入密码

    这里记住密码是不回显的

    此时登录成功

  9. 分清楚重命名
    名称---是你自己设定的名称,也就是文件的重命名
    主机---你的云服务器远程连接的ip地址
    用户名---你的登录身份,root是最高级身份角色,其他的都是普通身份角色
    协议和端口---默认就可以,也就是连接方式

XShell 中实现免密登录 Linux 服务器的详细流程: 

  1. 因为我们不能每次都输入账号密码,很麻烦,所以我们还有免密链接方式
  2. 在 XShell 中,重新创建一个新的会话或者编辑已有的会话属性。
    A:这里是创建一个新的会话(创建一个新的远程连接)


    B:这里是打开当前的远程连接

  3. 这里讲解采取的是创建新的远程连接的方式进行讲解

    点击用户身份验证,这里输入用户名和密码,点击确认
  4. 点击 “连接” 按钮,此时应该可以免密登录到 Linux 服务器。如果登录失败,请检查上述步骤是否正确执行,尤其是权限设置部分。最后我们开始测试


过以上步骤,就可以在 XShell 中实现免密登录 Linux 服务器,提高登录效率和安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值