本文章是在B站的尚课听的,但是由于版本较老,而且是以centOS学习Linux,由于CentOS在10天后就不再更新,被抛弃了,痛定思痛,及时停课。但是又不想浪费笔记,前来保存一下。
运维工程师相关的:系统运维,应用运维,DBA
开发工程师相关的:内核/驱动开发,软件开发,嵌入式开发
架构师
一些比较大的方向:
高级程序员必备技能
入门篇1-2
Linux概述
基础篇3-6
实操篇7 (实战性很强,有大量常用命令玩转Linux)
扩展篇8-9
本课程基于CentOS 7
Linux是一个操作系统(简称OS)
是一个直接操作计算机底层硬件的软件,也是一个最底层的软件。和windows,macOS一样,都是操作系统
中学阶段就熟练掌握了汇编语言,上大学时自己手搓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的设计思想,推出的免费操作系统
随着Linux的传播,由一个人设计操作系统变成了一堆人,容易出事。顺带着就开发了一个管理软件版本的工具
全世界最大的源代码集散地,协作式源代码托管网站。
由“自由软件”之父Richard发布的操作系统。希望能在购买软件的时候,软件开源。防止有病毒镶嵌。
GNU Not Unix 不是Unix,但是兼容Unix。

上面这个图的意思,就是Linux实际上是GNU计划里面的操作系统内核,不是一个独立的系统。日常使用的Linux实际上是需要包上操作系统的GNU/Linux。
大部分的App各种软件都是建立在外围应用层上的
GPL是GNU的合法协议,也就是软件发布的时候,要遵守这个协议,不能随意发布。
协议要求:用过带协议软件的源代码,就必须也开源。开源的同时也要遵守GPL协议。
可以用免费的源代码,自己修改后不用开源,自己投入商业也没事。
GPL跟倾向于用户,BSD倾向于软件开发的公司。
分为商业公司维护的商业版(收费的),还有开源社区维护的免费版。
RedHat(红帽)系类——不注重桌面维护,侧重于高性能(服务器首选)
RedHat收费版
免费版红帽
debian系类,完全按照GNU协议
suse系类,德国公司,服务于欧洲,桌面系统华丽(KDE实现,不稳定,但是好看)
gentoo Linux 最强悍的高性能版本,安装复杂,小白走开
archlinux 轻量灵活,对新手不太好。
Android 基于Linux内核,谷歌运营
鸿蒙系统
因为以后还是要进厂的,为了方便以后就业,所以选择CentOS

Linux主要是开源免费
Windows主要面向用户使用体验