Linux基础篇

Linux

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

文章目录

  • Linux
  • 前言
  • 章节概述
  • 入门篇
    • Linux是什么
    • Linux的诞生
    • git的诞生(2005)
    • gitHub的诞生(2008)
    • GNU/Linux(1985)
    • GPL(1989)
    • BSD协议(FreeBSD)(MacOS前身)
    • GPL和BSD的不同受众
    • Linux的发行版
    • Linux VS Windows

前言

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

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

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

相关文章

个人介绍~

摘要 大家好,很高兴以这种方式见到大家。本篇文章可能会很长,如果您不喜欢长文章或者笔者,就早早出门右拐(不喜勿喷)。本篇会持续更新,记录个人从大学生涯到毕业后求职,工作,个人爱好…

mindspore打卡第三课模型定义和训练全流程

python import mindspore from mindspore import nn, ops class Network(nn.Cell): ### 先定义类合参数 需要初始化实例 def __init__(self): super().__init__() self.flatten nn.Flatten() self.dense_relu_sequential nn.SequentialCell(…

Jacob代码编写/部署的注意事项集

注意事项一: 慎用 ComThread.InitSTA(); ComThread.Release(); 因为经常会在 ComThread.Release(); 发生阻塞,导致程序一直卡在这里,不能被调用; 建议不要使用这个初始化和释放线程的代码,看似很高级,其…

Swift Combine — zip和combineLatest的理解与使用

Publisher 上还有一些其他的操作,比如 zip 和 combineLatest,能让我们在时序上对控制多个 Publisher 的结果进行类似 and 和 or 的合并,它们在构建复杂 Publisher 逻辑时也十分有用。 zip Publisher 中的 zip 和 Sequence 的 zip 相类似&am…

iOS政策解读之一丨App提交审核前注意事项必知

大家好,我是小编阿文。欢迎您关注我们,经常分享有关Android出海,iOS出海,App市场政策实时更新,互金市场投放策略,最新互金新闻资讯等文章,期待与您共航世界之海。 iOS企业出海所面临的主要挑战…

路由优先级

在网络管理中,“路由策略”和“策略路由”是两种不同的概念。路由策略通常指的是传统的路由协议 和静态路由等机制的优先级,而策略路由(Policy-Based Routing, PBR)则允许管理员基于特定 的策略(如源地址、目标地址、…

高速异地组网怎么办理?

在当今信息化时代,跨地域的远程办公、远程教育、远程医疗等需求越来越多。而高速异地组网作为一种解决不同地区之间快速组建局域网的方法,被广泛应用。本文将介绍一款异地组网内网穿透产品——【天联】,并提供其办理流程。 【天联】组网是什…

JMeter详解

一、线程组 作用:线程组就是控制Imeter用于执行测试的一组用户 位置:右键点击测试计划’-->添加 -->线程(用户)--> 线程组 特点: 模拟多人操作线程组可以添加多个,多个线程组可以并行或串行取样器(请求)和逻辑控制器必须依赖线程组才能使用线程组下可以…

[广搜BFS] Pots

描述 You are given two pots, having the volume of A and B liters respectively. The following operations can be performed: FILL(i) fill the pot i (1 ≤ i ≤ 2) from the tap;DROP(i) empty the pot i to the drain;POUR(i,j) pour from pot i to po…

java -jar

java [JVM参数] -jar [jar文件路径] [应用参数,包括springboot特定参数]* JVM 参数必须在-jar之前 * 应用参数一般在jar文件路径之后java -jar excel.jar java -jar -Dloader.pathlibx /path/to/yourApp.jar java -jar -Dloader.pathlibx /path/to/yourApp.jar --…

Behind the Code:Polkadot 如何实现全球协作与去中心化治理?

2024 年 6 月 16 日,《Behind the Code: Web3 Thinkers》第二季第二集上线。本集中,ChaosDAO 联合创始人兼 Novasama Technologies 首席财务官 Leemo 深入探讨了 Polkadot 生态系统中的全球协作力量,以及这种协作如何推动去中心化治理的创新与…

聊聊语法糖

语法糖(Syntactic sugar)是指编程语言中添加的某种语法,这种语法对语言的功能没有影响,但更方便程序员使用,并能增加程序的可读性,减少代码出错的机会。 历史: 语法糖这一术语是由英国计算机科…

C++:你用过MultiIndex容器吗?

作为C开发者,我们对键值容器非常熟悉,例如std::set、std::map、std::unordered_map等。这些容器以其强大的功能和高效的性能,成为我们处理数据存储和检索任务时的得力助手。但是你用过多键容器(MultiIndex)吗&#xff…

关于团队生存的小讨论

大家好,我是阿赵。   今天出门上班的时候,在电梯里面看到了信乐团的海报,信乐团要来我家附近开演唱会了。可惜,是没有了信的信乐团。   我以前读大学的时候,组建过自己的乐队,所以对当时很多乐队都非常…

在 macOS 上使用 Homebrew 安装和配置 Python 及 Tk 库

在 macOS 上,系统自带的 /usr/bin/python3 版本较旧,且直接升级系统自带的 Python 版本可能会影响系统稳定性。因此,推荐使用 Homebrew 来安装和管理 Python 及其相关库。本文将详细介绍如何通过 Homebrew 安装和配置 Python 3 及 Tk 库&…

CentOS中的rename命令

目录 CentOS中的rename命令基本语法使用示例注意事项安装prename CentOS中的rename命令 在CentOS系统中,rename命令通常是指util-linux包中提供的版本,它用于批量重命名文件,但与Perl版本的rename命令相比,功能较为简单&#xff…

QT 中setVisible()和setEnabled()的区别

setVisible(bool)和setEnabled(true)在PyQt(以及其他类似的图形用户界面框架)中分别用于控制控件的可见性和可用性,它们之间的主要区别如下: setVisible(bool) 功能:这个函数用于设置QWidget控件的可见状态。参数&am…

AI创作在论文写作中扮演什么角色?

近年来,随着科技的快速发展,AI已经逐渐渗透到了生活中的方方面面,其中也包含着学术领域。 作为学生党,你是否还在为期末论文,大学生实践报告而发愁? 有了这些AI写作神器,大学生们再也不用在期…

深度学习500问——Chapter11:迁移学习(3)

文章目录 11.3 迁移学习的常用方法 11.3.1 数据分布自适应 11.3.2 边缘分布自适应 11.3.3 条件分布自适应 11.3.4 联合分布自适应 11.3.5 概率分布自适应方法优劣性比较 11.3.6 特征选择 11.3.7 统计特征对齐方法 11.3 迁移学习的常用方法 11.3.1 数据分布自适应 数据分布自适…

Unity做一个剪辑声音的工具 在编辑器模式实时剪辑声音

Unity音频剪辑工具的实现 在游戏开发中,音频是一个至关重要的元素。音频剪辑工具能够帮助开发者高效地编辑和管理音频文件。本文将解析一个基于Unity编辑器的音频剪辑工具的实现方法 效果 工具功能 该音频剪辑工具允许用户在Unity编辑器中加载音频片段&#xff0…