• Linux基础篇


    Linux

    本文章是在B站的尚课听的,但是由于版本较老,而且是以centOS学习Linux,由于CentOS在10天后就不再更新,被抛弃了,痛定思痛,及时停课。但是又不想浪费笔记,前来保存一下。

    前言

    • 与Linux相关的岗位

    运维工程师相关的:系统运维,应用运维,DBA

    开发工程师相关的:内核/驱动开发,软件开发,嵌入式开发

    架构师

    一些比较大的方向:

    1. Web应用
    2. 数据库
    3. 大数据
    4. 云计算
    5. 物联网

    高级程序员必备技能

    章节概述

    • 入门篇1-2

    • 基础篇3-6

      • 文件与目录结构
      • VI/VIM编辑器
      • 网络配置
      • 系统管理
      • 远程登陆
    • 实操篇7 (实战性很强,有大量常用命令玩转Linux)

      • 文件目录类
      • 时间日期类
      • 用户管理类
      • 文件权限类
      • 磁盘分区类
      • 进程线程类
    • 扩展篇8-9

      • 软件包管理
      • 克隆虚拟机
      • Shell编程(构建Shell脚本,运维)

    本课程基于CentOS 7

    入门篇

    Linux是什么

    • Linux是一个操作系统(简称OS)

      是一个直接操作计算机底层硬件的软件,也是一个最底层的软件。和windows,macOS一样,都是操作系统

    Linux的诞生

    • Linux之父——利纳斯·托瓦兹(Linus Torvalds)

    ​ 中学阶段就熟练掌握了汇编语言,上大学时自己手搓Linux操作系统。

    ​ 他在上大学时,对当时的Unix操作系统非常感兴趣,但是Unix不开放。Minix是Unix的变种,Minix是开放的,然后利纳斯就自己研究Minix,后来想完善Minix。因为写的太多了,已经算是有雏形的操作系统了,所以干脆自己写了一个操作系统。结合的自己的名字Linus和已知的Unix。推出了Linux0.01版本。并公开系统自己的源代码(开源)。

    • Unix 一切操作系统的起始 1970年

      • Unix 来源于贝尔实验室 Multics项目经验

      • Unix 一开始是汇编语言,太难了。开发了B语言,一种解释型语言,失败了。再次开发推出new B语言,对Unix操作系统进行重构。new B不太简洁,就替换成了C。也就是C语言的诞生

      • C语言是一种最接近计算机底层的高级语言

    • Minix 一位教授为了教学,借鉴Unix的设计思想,推出的免费操作系统

      • 因为Unix是商业性质的操作系统,售价不菲且不开源。
      • 这个教授就借鉴Unix免费的接口,然后自己完善了一下,操作系统能用就行。开源了。
      • 但是性能不好,有很多缺陷,也删减了一些对教学无关的接口,利纳斯就自己完善了Minix,继而推出了Linux0.01。

    git的诞生(2005)

    随着Linux的传播,由一个人设计操作系统变成了一堆人,容易出事。顺带着就开发了一个管理软件版本的工具

    gitHub的诞生(2008)

    全世界最大的源代码集散地,协作式源代码托管网站。

    GNU/Linux(1985)

    • 来源:自由软件运动
    • 基于Linux操作系统的内核,GNU的操作系统,还有一堆免费软件

    由“自由软件”之父Richard发布的操作系统。希望能在购买软件的时候,软件开源。防止有病毒镶嵌。

    GNU Not Unix 不是Unix,但是兼容Unix。

    请添加图片描述

    上面这个图的意思,就是Linux实际上是GNU计划里面的操作系统内核,不是一个独立的系统。日常使用的Linux实际上是需要包上操作系统的GNU/Linux。

    大部分的App各种软件都是建立在外围应用层上的

    GPL(1989)

    GPL是GNU的合法协议,也就是软件发布的时候,要遵守这个协议,不能随意发布。

    协议要求:用过带协议软件的源代码,就必须也开源。开源的同时也要遵守GPL协议。

    BSD协议(FreeBSD)(MacOS前身)

    可以用免费的源代码,自己修改后不用开源,自己投入商业也没事。

    GPL和BSD的不同受众

    GPL跟倾向于用户,BSD倾向于软件开发的公司。

    Linux的发行版

    分为商业公司维护的商业版(收费的),还有开源社区维护的免费版。

    • RedHat(红帽)系类——不注重桌面维护,侧重于高性能(服务器首选)

      • RedHat收费版

        • RedHat Enterprise Linux(RHEL)
      • 免费版红帽

        • Fedora 收费版的实验版本是免费的,不太稳定
        • CentOS 基于收费版去除有版权的部分的重构版本,比较滞后,稳定(作为小企业服务器首选)(国内主流)
    • debian系类,完全按照GNU协议

      • ubuntu,基于debian,最新软件包,不稳定。对桌面有优化(自己使用比较好,性能差)。(国内主流)
        • Linux mint 基于Ubuntu,桌面优化成早期的windows。更像是苹果系统。
    • suse系类,德国公司,服务于欧洲,桌面系统华丽(KDE实现,不稳定,但是好看)

      • 企业版 SEL
      • 社区版 openSUSE,基于稳定的SEL版本,也是滞后。国内不太流行。
    • gentoo Linux 最强悍的高性能版本,安装复杂,小白走开

    • archlinux 轻量灵活,对新手不太好。

      • 对新手友好的版本 manjaro
    • Android 基于Linux内核,谷歌运营

    • 鸿蒙系统

    因为以后还是要进厂的,为了方便以后就业,所以选择CentOS

    Linux VS Windows

    请添加图片描述

    Linux主要是开源免费

    Windows主要面向用户使用体验

  • 相关阅读:
    java-net-php-python-11jspm健身管理网站计算机毕业设计程序
    射频识别|计算机网络|第九讲数据通信和编码技术|奈氏准则和香农定理
    记一次频繁GC问题的排查
    下载mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
    wireshark测试tcp三次握手与四次挥手
    BH1750 传感器实战教学 —— 驱动移植篇
    springboot实验室自主预约系统毕业设计源码111953
    mybatis批量插入
    vue3.0中实现excel文件的预览
    QT QTextEdit富文本插入字体-表格-编号-图片-查找-语法高亮功能
  • 原文地址:https://blog.csdn.net/FZ51111/article/details/139839544