从零开始学Linux:系统架构全解析

发布于:2025-07-07 ⋅ 阅读:(22) ⋅ 点赞:(0)

目录

一、什么是 Linux?

简介

核心特点:

二、Linux 的基本组成结构

1. 内核(Kernel)

示例:查看当前内核版本

2. Shell 命令解释器

示例:查看当前使用的 Shell

3. 文件系统结构(Filesystem Hierarchy Standard, FHS)

常见目录及其用途:

示例:查看目录结构

4. 用户与权限管理

用户类型:

权限分类:

示例:查看文件权限

三、Linux 启动流程概述

启动流程简图(知识树状流程图):

流程详解:

四、终端与命令行基础

1. 终端(Terminal)

2. 常用命令示例

查看当前路径:

列出目录内容:

创建目录:

切换目录:

显示文件内容:

清屏:

五、第一个 Linux 程序:Hello World Shell 脚本

1. 编写脚本

2. 添加执行权限

3. 执行脚本

六、总结知识点图解(知识树状图)

七、课后练习建议


一、什么是 Linux?

简介

Linux 是一个开源的类 Unix 操作系统内核,最初由 Linus Torvalds 在 1991 年开发。它是一个多用户、多任务、支持多线程的操作系统,广泛应用于服务器、嵌入式设备、超级计算机和桌面系统。

Linux 不仅是操作系统内核,还与 GNU 工具链结合形成了完整的操作系统(通常称为 Linux 发行版)。

核心特点:

  • 开源免费:源代码公开,任何人都可以自由使用、修改和分发。
  • 多用户多任务:支持多个用户同时登录并运行多个程序。
  • 可移植性强:可在多种硬件平台上运行(x86、ARM、MIPS 等)。
  • 稳定性与安全性高:适合长期运行的服务端环境。
  • 丰富的开发工具:提供 GCC、GDB、Make、Shell 脚本等强大的开发工具。

二、Linux 的基本组成结构

1. 内核(Kernel)

Linux 内核负责管理系统的资源,包括进程调度、内存管理、文件系统、网络通信、设备驱动等。

示例:查看当前内核版本
uname -r

输出示例:

5.15.0-72-generic

2. Shell 命令解释器

Shell 是用户与 Linux 内核之间的接口,常见的 Shell 有 bash, zsh, fish 等。

示例:查看当前使用的 Shell
echo $SHELL

输出示例:

/bin/bash

3. 文件系统结构(Filesystem Hierarchy Standard, FHS)

Linux 使用统一的树状文件结构,根目录为 /

常见目录及其用途:
目录 描述
/ 根目录,整个文件系统的起点
/bin 存放常用命令(如 ls、cp)
/sbin 系统管理员使用的命令(如 ifconfig)
/etc 配置文件存放地
/home 用户主目录
/root 系统管理员 root 的家目录
/tmp 临时文件目录
/usr 用户程序和数据(类似 Windows 的 Program Files)
/var 可变数据目录(日志、缓存等)
/dev 设备文件
/proc 运行时信息(虚拟文件系统)
/sys 硬件相关的信息(也是虚拟文件系统)
示例:查看目录结构
ls -F /

4. 用户与权限管理

Linux 是一个多用户的操作系统,每个用户都有自己的账户和权限。

用户类型:
  • 普通用户
  • 超级用户(root)
权限分类:
  • 读(r)
  • 写(w)
  • 执行(x)
示例:查看文件权限
ls -l /etc/passwd

输出示例:

-rw-r--r-- 1 root root 2554 Jul  1 10:00 /etc/passwd

含义:

  • -rw-r--r--:权限
  • 1:链接数
  • root:属主
  • root:属组
  • 2554:文件大小(字节)
  • Jul 1 10:00:最后修改时间
  • /etc/passwd:文件名

三、Linux 启动流程概述

启动流程简图(知识树状流程图):

+------------------------+
|       BIOS/UEFI        |
+------------------------+
           |
           v
+------------------------+
|     Bootloader (GRUB)  |
+------------------------+
           |
           v
+------------------------+
|        Linux Kernel    |
+------------------------+
           |
           v
+------------------------+
|     Init System (systemd or SysVinit) |
+------------------------+
           |
           v
+------------------------+
|     Runlevel/Target    |
+------------------------+
           |
           v
+------------------------+
|     User Login Prompt  |
+------------------------+

流程详解:

  1. BIOS/UEFI 加电自检(POST)

    • 初始化硬件,检查内存、硬盘等设备是否正常。
  2. Bootloader(引导加载程序)

    • GRUB(Grand Unified Bootloader)是最常用的 bootloader。
    • 选择启动哪个内核或操作系统。
  3. Linux 内核启动

    • 加载内核镜像(vmlinuz),初始化硬件驱动,挂载根文件系统。
  4. Init System 启动

    • systemd 或 SysVinit 是系统和服务的初始化管理系统。
    • systemd 是现代 Linux 的主流 init 系统。
  5. 进入运行级别(Runlevel)或目标(Target)

    • 多用户模式(带图形界面或不带)。
  6. 显示登录提示符

    • 用户输入用户名和密码进行登录。

四、终端与命令行基础

1. 终端(Terminal)

终端是用户与 Linux 系统交互的文本界面。你可以通过 Ctrl+Alt+T 打开终端。

2. 常用命令示例

查看当前路径:
pwd
列出目录内容:
ls -la
创建目录:
mkdir mydir
切换目录:
cd mydir
显示文件内容:
cat /etc/os-release
清屏:
clear

五、第一个 Linux 程序:Hello World Shell 脚本

1. 编写脚本

创建一个名为 hello.sh 的脚本文件:

nano hello.sh

输入以下内容:

#!/bin/bash
echo "Hello, Linux System Programming!"

2. 添加执行权限

chmod +x hello.sh

3. 执行脚本

./hello.sh

输出结果:

Hello, Linux System Programming!

六、总结知识点图解(知识树状图)

Linux 操作系统简介
│
├── 什么是 Linux?
│   ├── 开源、多用户、多任务
│   └── 用于服务器、嵌入式、桌面等
│
├── 基本组成结构
│   ├── 内核(Kernel)
│   ├── Shell 命令解释器
│   ├── 文件系统结构(FHS)
│   └── 用户与权限管理
│
├── 启动流程
│   ├── BIOS/UEFI
│   ├── Bootloader (GRUB)
│   ├── 内核加载
│   ├── systemd/SysVinit
│   ├── 运行级别
│   └── 登录提示
│
├── 终端与命令行基础
│   ├── pwd, ls, cd, cat 等命令
│   └── Shell 脚本执行
│
└── 第一个程序:Hello World Shell 脚本
    ├── #!/bin/bash
    ├── echo 输出语句
    └── chmod +x 设置执行权限

七、课后练习建议

  1. 尝试在终端中运行 uname -a,看看能获得哪些系统信息。
  2. 使用 ls -R / 查看整个文件系统的递归结构。
  3. 创建一个新的用户,并为其设置密码。
  4. 编写一个 Shell 脚本,输出你的姓名、当前日期和当前工作目录。

网站公告

今日签到

点亮在社区的每一天
去签到