news 2026/6/20 1:21:18

Linux02-Linux是什么怎么学

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux02-Linux是什么怎么学

一、Linux是什么

1.1 什么是操作系统?

计算机是一堆硬件组成的,为了控制这些硬件资源,于是就有了操作系统。

操作系统是计算机中最核心的系统软件,位于硬件和应用程序之间,负责管理硬件资源江为用户和应用程序提供运行环境。

操作系统的典型组成结构

应用程序 ──────────── 系统调用接口 ──────────── 内核(Kernel) ──────────── 硬件(CPU / 内存 / 磁盘)

1.2 什么是Linux?

结论:Linux是一个操作系统最底层的核心及其提供的核心工具,它是GNU GPL授权模式,任何人均可取得源代码,并且可以修改,它参考POSIX设计规范。

Linux是Torvalds先生1991年针对386开发的,核心仅能“驱动386所有的硬件”而已,当时能在Linux上面跑的软件很少。如果想要在其他硬件平台运行,就需要修改Linux才行。

1.3 GNU GPL 是什么?

GNU GPL 是一种自由软件许可证(开源许可证)自由软件基金会(FSF)发布,用来保证软件“永远自由”。

只要你分发了GPL软件或者其个性版本,必须:开放源代码、继续使用使用GPL协议

四大自由:

  1. 自由发行软件
  2. 自由查看和修改源码
  3. 自由分发副本
  4. 自由分发修改后的版本

代表项目:

  • Linux Kernel
  • BusyBox
  • Git

GNU (https://www.gnu.org/gnu/about-gnu.html)于1983年由Richard Stallman(rms)发起,意在为所有软件用户能够自由控制自己的计算而构建一款由大家共同努力开发而成的操作系统。rms今天仍然是GNU的首席。

GNU所开发的几个重要的软件:

  • Emacs
  • GNU C (GCC)
  • GNU C Library (glibc)
  • Bash shell

1.4 什么是POSIX设计规范?

POSIX(Portable Operating System Interface)是一套操作系统接口标准,由IEEE制定,用来保证:同一套程序,在不同 Unix 类系统上都能跑

1.4.1 POSIX 规定了哪些东西?

  • 系统调用接口(C API),glibc 实现 POSIX API

    类别示例
    进程fork()exec()wait()
    文件open()read()write()
    权限chmod()chown()
    信号signal()kill()
    线程pthread_*
  • 文件系统模型

    POSIX定义:一切皆文件、路径用 /、文件描述符fd(0/1/2)

    FD含义
    0stdin
    1stdout
    2stderr
  • Shell & 命令行行为

    POSIX定义了:标准Shell(sh)语法、命令行为(如cp、mv、ls)

    Bash 是 POSIX sh 的超集

  • 文本与字符规则

    • 行结束符:\n
    • 文本编码概念
    • LC_*/LANG规范
  • 工具与命令集(POSIX Utilities),如:awk\sed\grep\find\vi

1.4.2 POSIX不规定哪些东西?

  • 内核结构
  • GUI
  • 包管理器
  • systemd / init
  • 文件系统实现(ext4、xfs)

二、Linux核心版本号

Linux核心网站:http://www.kernel.org

Linux核心版本号举例如下:

3.10.0-123.el7.x86_64

版本号解释:

主版本号.次版本号.修订号-扩展版本号.架构标识 扩展版本号(el7): 123:发行版特定的构建号,表示这是Red Hat/CentOS编译的第123次构建 .el7:Enterprise Linux 7的标识,表示这是为RHEL 7/CentOS 7定制的内核

举例:

我的虚拟机安装的是CentOS8,内核版本号为4.18.0-240.el8.x86_64,内核版本为:4.18.0 ;el8表示CentOS8版本。通过命令cat /etc/os-release查看操作系统版本,确认是CentOS8

[root@server12 ~]# uname -r4.18.0-240.el8.x86_64[root@server12 ~]# cat /etc/os-releaseNAME="CentOS Linux"VERSION="8"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="8"PLATFORM_ID="platform:el8"PRETTY_NAME="CentOS Linux 8"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:centos:centos:8"HOME_URL="https://centos.org/"BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-8"CENTOS_MANTISBT_PROJECT_VERSION="8"

2.1 奇数、偶数版本分类——3.0之前

  • 主、次版本为奇数:发展中版本(development)
  • 主、次版本为偶数:稳定版本(stable)

2.2 主线版本、长期维护版本(longterm version)

在3.0版本之后,这种奇数、偶数的编号格式就失效了。从3.0版开始,核心主要依据主线版本(MainLine)来开发,开发完毕后会往下一个主线版本进行。 例如3.10就是在3.9的架构下继续开发出来的新的主线版本。

查看Linux内核版本命令:

uname-r

而旧的版本在新的主线版本出现之后,会有两种机制来处理,一种机制为结束开发(End of Live,EOL),亦即该代码已经结束,不会有继续维护的状态。 另外一种机制为保持该版本的持续维护,亦即为长期维护版本 (longterm)。

查询长期维护内核版本号有哪些的网址:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 20:26:46

MATH Day 05 Applications amp;amp; Practice

可持久化线段树 (Persistent Segment Tree) 1. 核心思想:共享结构 (Shared Structure) 基本原理:每次修改操作不复制整个结构,而仅创建 \(O(\log n)\) 个新节点。关键技术:动态开点。 每个节点显式存储左右儿子的索引。分配新索…

作者头像 李华
网站建设 2026/6/18 12:16:31

Cortex-M系列,Cortex-A系列,汇编启动文件的区别

Cortex-M系列:可以不自己写汇编启动代码,因为芯片厂商提供了完整的启动文件,但理解汇编对调试和优化很重要。 Cortex-A系列:通常需要懂汇编启动原理,但实际开发中常使用现成的bootloader(如U-Boot&#xf…

作者头像 李华
网站建设 2026/6/15 15:33:11

35 岁后无路可走?实施运维是青春饭的传言,该打破了

在IT行业,“35岁危机”像一道悬在头顶的达摩克利斯之剑,让不少从业者焦虑:自己的岗位到底是不是“吃青春饭”?其中,实施工程师和运维工程师这两个高频出现在招聘需求里的岗位,常被拿来比较——有人说实施要…

作者头像 李华
网站建设 2026/6/15 19:55:04

搭子小程序案例分享

搭子小程序案例分享💻 “搭子”作为一种新兴社交模式,正快速融入年轻人的生活——运动、用餐、旅行……随时随地,找到志同道合的伙伴,好玩不孤单! 🎉开发线上同城搭子系统,为企业带来以下优势 ↓…

作者头像 李华