Linux基础篇

Linux

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

文章目录

前言

  • 与Linux相关的岗位

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

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

架构师

一些比较大的方向:

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

高级程序员必备技能

章节概述

  • 入门篇1-2

    • Linux概述

    • Linux安装

  • 基础篇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主要面向用户使用体验

相关推荐
暮暮七22 分钟前
hive和spark读写分区表NULL列
大数据·linux·hive·hadoop·sql·spark
EasyDSS32 分钟前
互联网视频推拉流EasyDSS视频直播点播平台视频转码有哪些技术特点和应用?
运维·服务器·音视频·rtmp推流·视频转码
HengYuan_Tech1 小时前
gitlab ssh-key 绑定
运维·ssh·gitlab
有来技术1 小时前
Linux 服务器安装 Docker - CentOS 9 (Stream)
linux·服务器·docker
jekc8681 小时前
Centos 相关网络配置
linux·网络·centos
DADIAN_GONG1 小时前
How to install tree on Centos? what is difference between apt and yum?
linux·运维·centos
Karoku0662 小时前
【docker集群应用】Docker常用命令
运维·数据库·docker·容器
夏沫の浅雨4 小时前
imx-6ULL uboot 移植
linux·uboot·nxp·6ull
C++忠实粉丝4 小时前
计算机网络之应用层协议HTTP
linux·网络·c++·网络协议·tcp/ip·计算机网络·http