# Python基础到实战一飞冲天(一)--linux基础(一)

Python基础到实战一飞冲天(一)--linux基础(一)

一、Python 基础到实战一飞冲天课程目录

1、课程清单

序号 内容 目标
01 Linux 基础 让大家对 Ubuntu 的使用从很 陌生 达到 灵活操作
02 Python 基础 涵盖 Python 基础知识,让大家掌握基础的编程能力
03 Python 面向对象 介绍 Python 的面相对象开发,为开发大型项目做好铺垫和准备
04 项目实战 应用基础班学习过的知识,编程实战,完成第一个 Python 项目

2、分享励志公式

二、python初体验

1、python体验1:自己每天进步0.01,计算一年后自己的进步空间。

2、python体验2:自己每天进步0.02,计算一年后自己的进步空间。

3、python体验3:如果自己学习三天打渔两天晒网(五天中有三天每天进步0.01,有两天每天退步0.01),计算自己的进步空间。

三、操作系统(Operation System,OS)

1、 操作系统作为接口的示意图

2、裸机:没有安装操作系统的计算机,通常被称为 裸机

  • 如果想在 裸机 上运行自己所编写的程序,就必须用机器语言书写程序
  • 如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级语言开发程序。

3、操作系统的作用

1)是现代计算机系统中 最基本和最重要 的系统软件。

2)是 配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展。

3)主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用。

4)而其他的诸如编译程序、数据库管理系统,以及大量的应用软件,都直接依赖于操作系统的支持。

四、不同领域的主流操作系统-01-桌面操作系统

1、不同应用领域的主流操作系统

1)桌面操作系统

2)服务器操作系统

3)嵌入式操作系统

4)移动设备操作系统

2、桌面操作系统

1)微软 Windows 系列

优点:应用软件多,使用方便,用户群体大。

缺点:安全性、稳定性差。

2)苹果 macOS

优点:基于linux系统,安全性、稳定性高于windows,适合于开发人员。

缺点:价格高,游戏娱乐体验差。

3)Linux

优点:安全性、稳定性好,适合于服务器和嵌入式领域。

缺点:应用软件少,用房群体少。

五、不同领域的主流操作系统-02-服务器操作系统

1、服务器操作系统:Linux

安全、稳定、免费

占有率高

2、服务器操作系统:Windows Server

付费

占有率低

六、不同领域的主流操作系统-03-嵌入式操作系统和移动操作系统

1、嵌入式操作系统(Embedded Operating System,简称:EOS)

1)EOS特点:系统内核小、专用性强、高实时性和多任务。

2)EOS通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。

3)在嵌入式领域广泛使用的操作系统有:

嵌入式实时操作系统µC/OS-II、嵌入式Linux、Windows Embedded、VxWorks、Intewell操作系统]等。

4)应用在智能手机和平板电脑的Android、iOS、华为鸿蒙等。

2、移动设备操作系统

Google的Android(基于 Linux)

苹果公司的iOS

华为公司的Harmony OS

七、虚拟机简介

1、什么是虚拟机?

虚拟机(Virtual Machine):指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

2、虚拟机的作用和优势是什么?

1)虚拟机上可以安装虚拟操作系统。虚拟系统通过生成现有操作系统的全新虚拟镜像,具有真实操作系统完全一样的功能。

2)进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响。

3)虚拟机上能够在现有系统与虚拟镜像之间灵活切换操作系统。

八、操作系统发展简史

1、 Unix

1965 年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘、显示器),连接一台电脑

为了解决数量不够用的问题

1) 1965 年左后由 贝尔实验室 加入了 麻省理工学院 以及 通用电气 合作的计划 ------ 该计划要建立一套 多使用者(multi-user)多任务(multi-processor)多层次(multi-level)MULTICS 操作系统,想让大型主机支持 300 台终端。

2) 1969 年前后这个项目进度缓慢,资金短缺,贝尔实验室退出了研究。

3)1969 年从这个项目中退出的 Ken Thompson 当时在实验室无聊时,为了让一台空闲的电脑上能够运行 "星际旅行(Space Travel)" 游戏,在 8 月份左右趁着其妻子探亲的时间,用了 1 个月的时间,使用汇编写出了 Unix 操作系统的原型。

4)1970 年,美国贝尔实验室的 Ken Thompson ,以 BCPL 语言为基础,设计出很简单且很接近硬件的 B 语言 (取BCPL的首字母),并且他用 B 语言 写了第一个 UNIX 操作系统。

5) 1971 年,同样酷爱 "星际旅行(Space Travel)" 的 Dennis M.Ritchie 为了能早点儿玩上游戏,加入了 Thompson 的开发项目,合作开发 UNIX,他的主要工作是改造 B 语言 ,因为B 语言 的跨平台性较差。

6)1972 年,Dennis M.RitchieB 语言 的基础上最终设计出了一种新的语言,他取了 BCPL 的第二个字母作为这种语言的名字,这就是 C 语言

7) 1973 年初,C 语言 的主体完成,ThompsonRitchie 迫不及待地开始用它完全重写了现在大名鼎鼎的 Unix 操作系统

肯•汤普逊(左)和丹尼斯•里奇(右)

2、 C 语言

1)在把 UNIX 移植到其他类型的计算机上使用时,C 语言强大的移植性(Portability)在此显现。

2)机器语言和汇编语言都不具有移植性,为 x86 开发的程序,不可能在 Alpha,SPARC 和 ARM 等机器上运行。

3)而 C 语言 程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的 C 语言编译器和库,然后将 C 源代码编译、连接成目标二进制文件之后即可运行。

3、 Unix 家谱

4、Minix

1)因为 AT&T(通用电气) 的政策改变,在 Version 7 Unix 推出之后,发布新的使用条款,将 UNIX 源代码私有化,在大学中不再能使用 UNIX 源代码。

2)Andrew S. Tanenbaum(塔能鲍姆) 教授为了能 在课堂上教授学生操作系统运作的细节,决定在不使用任何 AT&T 的源代码前提下,自行开发与 UNIX 兼容的操作系统,以避免版权上的争议。

3)以 **小型 UNIX(mini-UNIX)**之意,将它称为 MINIX

5、 Linux

1)1991 年 林纳斯(Linus) 就读于赫尔辛基大学期间,对 Unix 产生浓厚兴趣,尝试着在Minix 上做一些开发工作。

2)因为 Minix 只是教学使用,因此功能并不强,林纳斯 经常要用他的终端 仿真器(Terminal Emulator) 去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了 Linux 第一个内核的雏形,当时,他年仅 21 岁!

3)林纳斯 利用 GNU 的 bash 当做开发环境,gcc 当做编译工具,编写了 Linux 内核,一开始 Linux 并不能兼容 Unix。

4)即 Unix 上跑的应用程序不能在 Linux 上跑,即应用程序与内核之间的接口不一致。

5)一开始 Linux 只适用于 386,后来经过全世界的网友的帮助,最终能够兼容多种硬件。

九、Linux的内核版和发行版

1、Linux 内核版本

1)**内核(kernel)**是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。

2)Linux 内核版本又分为 稳定版开发版,两种版本是相互关联,相互循环。

3)稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些 bug 或加入一些新的驱动程序。

4)开发版:由于要试验各种解决方案,所以变化很快。

5)内核源码网址:http://www.kernel.org

所有来自全世界的对 Linux 源码的修改最终都会汇总到这个网站,由 Linus 领导的开源社区对其进行甄别和修改最终决定是否进入到 Linux 主线内核源码中

2、Linux 发行版本

1)**Linux 发行版(也被叫做 GNU/Linux 发行版)**通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件。

2)常见的发行版本如下:

* Ubuntu
* Redhat
* Fedora
* openSUSE
* Linux Mint
* Debian
* Manjaro
* Mageia
* CentOS
* Arch

3)十大 Linux 服务器发行版排行榜:http://os.51cto.com/art/201612/526126.htm

在几乎每一份与 Linux 有关的榜单上,基于 Debian 的 Ubuntu 都占有一席之位。Canonical 的Ubuntu 胜过其他所有的 Linux 服务器发行版 ―― 从简单安装、出色的硬件发现,到世界级的商业支持,Ubuntu确立了难以企及的严格标准。

3、Linux 的应用领域

1)服务器领域

  • Linux 在服务器领域的应用是其重要分支。
  • Linux 免费、稳定、高效等特点在这里得到了很好的体现。
    • 早期因为维护、运行等原因同样受到了很大的限制。
    • 近些年来 Linux 服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛。

2)嵌入式领域

  • 近些年来 Linux 在嵌入式领域的应用得到了飞速的提高。
  • Linux 运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百 KB 等特点,使其近些年来在嵌入式领域的应用得到非常大的提高。

主要应用:机顶盒数字电视网络电话程控交换机手机PDA、等都是其应用领域,得到了 Google、三星、摩托罗拉、NEC 等公司的大力推广。

3)个人桌面领域

  • 此领域是传统 Linux 应用最薄弱的环节。
  • 传统 Linux 由于界面简单、操作复杂、应用软件少的缺点,一直被 Windows 所压制。
  • 近些年来随着 UbuntuFedora 等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,Linux 在个人桌面领域的占有率在逐渐的提高。

在 Ubuntu 中玩 QQ

十、Linux系统下的文件目录结构

1、单用户操作系统和多用户操作系统(科普)

1)单用户操作系统

指一台计算机在同一时间 只能由一个用户 使用,一个用户独自享用系统的全部硬件和软件资源。

* Windows XP 之前的版本都是单用户操作系统。

2)多用户操作系统

指一台计算机在同一时间可以由 多个用户 使用,多个用户共同享用系统的全部硬件和软件资源

* UnixLinux 的设计初衷就是多用户操作系统。

2、 WindowsLinux 文件系统区别

1) Windows 下的文件系统

  • Windows 下,打开 "计算机",我们看到的是一个个的驱动器盘符:
  • 每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示:

2) Linux 下的文件系统

  • Linux 下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录):
  • Ubuntu 没有盘符这个概念,只有一个根目录 /,所有文件都在它下面
相关推荐
Komorebi.py6 分钟前
【Linux】-学习笔记05
linux·笔记·学习
不去幼儿园10 分钟前
【MARL】深入理解多智能体近端策略优化(MAPPO)算法与调参
人工智能·python·算法·机器学习·强化学习
Mr_Xuhhh12 分钟前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法
Ajiang28247353041 小时前
对于C++中stack和queue的认识以及priority_queue的模拟实现
开发语言·c++
幽兰的天空1 小时前
Python 中的模式匹配:深入了解 match 语句
开发语言·python
梓仁沐白3 小时前
ubuntu+windows双系统切换后蓝牙设备无法连接
windows·ubuntu
内核程序员kevin3 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
Theodore_10224 小时前
4 设计模式原则之接口隔离原则
java·开发语言·设计模式·java-ee·接口隔离原则·javaee
网易独家音乐人Mike Zhou5 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
安静读书5 小时前
Python解析视频FPS(帧率)、分辨率信息
python·opencv·音视频