01. 【Linux教程】Linux 简介

1. 初识 Linux

Linux,全称 GNU/Linux,是一套免费使用和自由传播的类 UNIX 操作系统,其内核由林纳斯·本纳第克特·托瓦兹于 1991 年第一次释出,它主要受到 MINIX 和 UNIX 思想的启发,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 UNIX 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux 有上百种不同的发行版,如基于社区开发的 Debian、Arch Linux,和基于商业开发的 Red Hat Enterprise Linux、SUSE、Oracle Linux 等。

2. Linux 简介

Linux 操作系统性能稳定,并且是开源的操作系统软件。它的防火墙相关的组件保证了系统的安全,且配置简单性能高效。Linux 在很多企业网络中,追求速度和安全,它不仅仅是被网络运维人员当作服务器使用,也可以作为网络防火墙。Linux 开放源码并且没有版权,技术社区用户多等特点 ,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈 ,经过适当的配置就可实现路由器的功能。这些特点使得 Linux 成为开发路由交换设备的理想开发平台。

3. Linux 发展史

  • Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和 Internet 网络。

  • 20 世纪 80 年代,计算机硬件的性能不断提高,PC 机的市场不断扩大,UNIX、DOS、MacOS。UNIX 操作系统价格昂贵且不能在一般的 PC 机上面运行,DOS 操作系统相对来说比较简陋,且源代码被软件厂商严格保密,MacOS 是一种专门用于苹果计算机的操作系统。

  • 因此,计算机应用领域需要更加完善、强大、价格低廉和开源的操作系统。由于供教学使用的典型操作系统很少,当时荷兰一位美国人教授 AndrewS.Tanenbaum 编写了一个操作系统,名为 MINIX,为了向学生讲述操作系统内部工作原理。

  • MINIX 虽然很好,但只是一个用于教学为目的的简单操作系统,它最大的好处就是公开了源代码。全球计算机领域的学生都可以通过钻研 MINIX 源代码来了解和学习 MINIX 操作系统,其中芬兰赫尔辛基大学的学生 Linus Torvalds 就是其中一个,他在吸收了 MINIX 精华的基础上,在 1991 年写出了属于自己的操作系统 Linux,并且版本为 Linux0.01,是 Linux 时代开始的标志。他利用 UNIX 的核心,去掉了那些复杂难处理的核心程序,把它改写成适用于普通计算机的操作系统放在网络上免费供其他学习者下载。

  • 1994 年推出完整的核心 Version1.0,至此,Linux 逐渐成为功能完善、稳定的操作系统,并被广泛使用。

4. Linux 特性和优点

4.1 Linux 特性

基本思想

Linux 的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说 Linux 是基于 UNIX 的,很大程度上也是因为这两者的基本思想十分相近。

完全免费

Linux 是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了 Linux 的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让 Linux 吸收了无数程序员的精华,不断壮大。

完全兼容 POSIX1.0 标准

这使得可以在 Linux 下通过相应的模拟器运行常见的 DOS、Windows 操作系统中的软件程序。这为用户从 Windows 转到 Linux 奠定了基础。许多用户在考虑使用 Linux 时,就想到以前在 Windows 下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

多用户、多任务

Linux 支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在计算机最主要的一个特点,Linux 可以使多个程序同时并独立地运行。

良好的界面

Linux 同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似于 Windows 图形界面的 X-Window 系统,用户可以使用鼠标对其进行操作。在 X-Window 环境中就和在 Windows 中相似,可以说是一个 Linux 版的 Windows 操作系统。

支持多种平台

Linux 可以运行在多种硬件平台上,如具有 x86、680x0、SPARC、Alpha 等处理器的平台。此外 Linux 还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001 年 1 月份发布的 Linux 2.4 版内核已经能够完全支持 Intel64 位芯片架构。同时 Linux 也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

4.2 Linux 优点

  • Linux 由众多微内核组成,其源代码完全开源;

  • Linux 继承了 UNIX 的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括 TCP/IPv4、 TCP/IPv6 和链路层拓扑程序等,并且可以利用 UNIX 的网络特性开发出新的协议栈;

  • Linux 系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性;

5. Linux 发行版本

由于最初 Linux 操作系统开源免费,所有的学习者都可以将 Linux 操作系统优化和拓展,所以 Linux 操作系统发展迅猛,当前发行版非常多,这里简单介绍一下六种常见的 Linux 操作系统。

5.1 Debian

Debian 计划是一个致力于创建一个自由操作系统的合作组织。我们所创建的这个操作系统名为 Debian。操作系统是使计算机运行的基本程序和工具的集合,其中最主要的部分称为内核(kernel)。内核是计算机中最重要的程序,负责一切基本的调度工作,并让您运行其他程序。Debian 系统目前采用 Linux 内核或者 FreeBSD 内核。

然而,让 Debian 支持其他内核的工作也正在进行,最主要的就是 Hurd。Hurd 是一组在微内核(例如 Mach)上运行的、提供各种不同功能的守护进程。Hurd 是由 GNU 工程所设计的自由软件。官方所创建的这个操作系统中的大部分基本工具来自于 GNU 工程;因此我们把它们命名为 GNU/Linux、GNU/kFreeBSD 和 GNU/Hurd。

这些工具同样都是自由的,当然,人们真正需要的是应用软件,也就是帮助他们完成工作的程序:从文档编辑,到电子商务,到游戏娱乐,到软件开发。Debian 带来了超过 51000 个软件包(为了能在您的机器上轻松地安装,这些软件包都已经被编译包装为一种方便的格式),一个软件包管理器(APT),以及其他帮助您在上千台计算机上管理数千个软件包的工具,过程就如安装一个应用程序那么简单。而这些全都是自由软件。这有点像一个高塔:在最底层的是内核,在内核上面的是所有的基本工具,然后是所有您在计算机上运行的软件

最后,在这个高塔顶端的就是 Debian 把每件事情谨慎地组织和配合在一起,使得它们能够在一起和谐地运作。

5.2 RedHat

红帽在 2014 年 6 月发布了最新旗舰版企业操作系统,红帽企业 Linux 7。基于红帽企业 Linux 7 操作系统,企业可整合裸机服务器、 虚拟机、基础设施即服务(IaaS)和平台即服务(PaaS),以构建一个强大稳健的数据中心环境,满足不断变化的业务需求。红帽卫星是一个综合性解决方案,它通过配置软件分发、补丁和配置管理,以及物理、虚拟和云环境的订阅管理为红帽系统提供完整的生命周期管理,为管理构建、部署、运行和淘汰系统所需的工具提供了单独的管理控制台和方法论。

5.3 CentOs

CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同,在于 CentOS 完全开源

5.4 Slackware

Slackware Linux 是由 Patrick Volkerding 开发的 GNU/Linux 发行版。与很多其他的发行版不同它坚持 KISS(Keep It Simple Stupid) 原则。一开始,配置系统会有一些困难,但是更有经验的用户会喜欢这种方式的透明性和灵活性。 Slackware 的很多特性体现出了 KISS 原则,最为有名的例子就是不依赖图形界面的文本化系统配置,传统的服务管理方式和不解决依赖的包管理

5.6 Ubuntu

Ubuntu 是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的 “ubuntu” 一词,意思是 “人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观。Ubuntu 基于 Debian 发行版和 Gnome 桌面环境,而从 11.04 版起,Ubuntu 发行版放弃了 Gnome 桌面环境,改为 Unity。从前人们认为 Linux 的难以安装、难以使用,在 Ubuntu 出现后这些都成为了历史Ubuntu 也拥有庞大的社区力量,用户可以方便地从社区获得帮助

Tips:本套教程演示学习使用的是 CentOs 操作系统,也有部分小节使用其他的操作系统。

6. 为什么要学习 Linux?

Linux 操作系统在服务器、云计算、大数据、嵌入式等等领域发展日益增大,几乎所有的开发、运维工程师必须都要使用和接触 Linux 操作系统,学习 Linux 操作系统基础教程将会帮助你很好的管理 Linux 服务器、项目部署、服务搭建,为你学习 Linux 高级功能打下基础。

7. 本课程的大致规划

本教程将会介绍 Linux 操作系统安装和配置、基本的命令使用、文件和目录管理、磁盘管理、权限管理等等,学完本课程,您将会对 Linux 的基本操作有了一定的理解和认识,并且能像操作 Windows 一样去操作 Linux,会为你学习更加高级的 Linux 知识打下坚实的基础。

8. 本课程的学习基础

  • 对计算机网络有基本的认识。
  • 会在指定的网址上下载软件包。

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

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

相关文章

基于SSM的汽车客运订票系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

YOLOv8改进 更换层次化视觉变换器的网络结构

一、SwinTransformer论文 论文地址:arxiv.org/pdf/2103.14030.pdf 二、 SwinTransformer网络结构 SwinTransformer是一种基于transformer的图像分类网络结构。SwinTransformer是由微软亚洲研究院提出的,其特点是具有高效的计算和参数效率。 SwinTransformer的网络结构主要…

打破硬件壁垒:TVM 助力 AI技术跨平台部署

文章目录 《TVM编译器原理与实践》编辑推荐内容简介作者简介目录前言/序言获取方式 随着人工智能(Artificial Intelligence,AI)在全世界信息产业中的广泛应用,深度学习模型已经成为推动AI技术革命的关键。TensorFlow、PyTorch、MX…

微信小程序开发学习笔记《10》页面导航

微信小程序开发学习笔记《10》页面导航 博主正在学习微信小程序开发,希望记录自己学习过程同时与广大网友共同学习讨论。导航 官方文档 一、介绍 1. 什么是页面导航 页面导航指的是页面之间的相互跳转。例如,浏览器中实现页面导航的方式有如下两种: …

互联网加竞赛 基于卷积神经网络的乳腺癌分类 深度学习 医学图像

文章目录 1 前言2 前言3 数据集3.1 良性样本3.2 病变样本 4 开发环境5 代码实现5.1 实现流程5.2 部分代码实现5.2.1 导入库5.2.2 图像加载5.2.3 标记5.2.4 分组5.2.5 构建模型训练 6 分析指标6.1 精度,召回率和F1度量6.2 混淆矩阵 7 结果和结论8 最后 1 前言 &…

YOLOv8改进:小目标涨点系列篇 | UNet v2 多层次特征融合模块结合DualConv、GSConv

🚀🚀🚀本文改进:多层次特征融合(SDI)结合DualConv、GSConv模块等实现二次创新 🚀🚀🚀SDI 亲测在多个数据集能够实现涨点,同样适用于小目标检测 🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研…

Gitlab中的CICD的使用方法

一、CI/CD执行机制 二、离线安装gitlab-runner 下载相应版本的gitlab-runner (下载地址:https://packages.gitlab.com/runner/gitlab-runner) dpkg -i gitlab-runner_12.8.0_amd64.debgitlab-runner register第3步中需要的信息可从下图所示…

Docker 的工作原理及安装步骤【云原生】

文章目录 1. Docker 的工作原理2. Docker 与虚拟机3. Docker 架构4. 安装 Docker5. 配置镜像加速 1. Docker 的工作原理 大型项目组件较多,运行环境也较为复杂,部署会碰到一些问题: ① 依赖关系复杂,容易出现兼容性问题&#xff1…

Leetcode2982. 找出出现至少三次的最长特殊子字符串 II

Every day a Leetcode 题目来源:2982. 找出出现至少三次的最长特殊子字符串 II 解法1:字符串分割 分类讨论 按照相同字母分组,每组统计相同字母连续出现的长度。例如 aaaabbbabb 把 a 分成一组,组内有长度 4 和长度 1&#x…

C/C++ 有关质数(素数)的问题

第一题:判断是否为质数 代码&#xff1a; #include <bits/stdc.h> using namespace std; int main() {int a;int flag 1; //重要cin>>a;for(int j2;j<a;j){if(a % j 0){cout<<a<<"不是质数";flag0; …

爬虫到底违法吗?你离违法还有多远?

最近&#xff0c;国家依法查处了部分编写爬虫程序&#xff0c;盗取其他公司数据的不良企业。一时间风声鹤唳&#xff0c;关于爬虫程序是否违法的讨论遍布程序员圈子。那么到底编写爬虫程序是否违法呢&#xff1f; 其爬虫下载数据&#xff0c;一般而言都不违法&#xff0c;因为…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -我参与的投票列表实现

锋哥原创的uniapp微信小程序投票系统实战&#xff1a; uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…