Linux基本架构
Linux 是一种开源的类 Unix 操作系统,其架构设计遵循 “简洁、模块化” 原则,核心是内核,并通过分层结构实现用户与硬件的交互。同时,Linux 依赖大量命令行工具完成操作。
Linux 基本架构
Linux 系统采用 “分层架构”,从底层到上层大致分为 4 个核心部分:
1. 内核(Kernel)
内核是 Linux 系统的核心,直接与硬件交互,负责管理系统的所有硬件资源和核心功能,运行在 “核心态”(拥有最高权限)。其主要功能包括:
- 进程管理:调度进程(程序的运行实例),分配 CPU 资源;
- 内存管理:分配和回收内存,实现虚拟内存;
- 设备驱动:提供硬件(如网卡、硬盘、显卡)的操作接口,使内核能与硬件通信;
- 文件系统管理:支持多种文件系统,管理文件的创建、读取、写入;
- 网络管理:实现 TCP/IP 等网络协议,处理网络数据传输。
2. Shell(命令解释器)
Shell 是用户与内核之间的交互接口,运行在 “用户态”,负责将用户输入的命令翻译成内核能理解的指令(通过 “系统调用” 传递给内核)。
- 常见的 Shell 有:
bash(Bourne Again Shell,Linux 默认)、sh、zsh等; - 用户通过终端(Terminal)输入命令,Shell 解析并执行,返回结果。
3. 文件系统(File System)
Linux 中 “一切皆文件”(包括硬件设备),文件系统采用树形结构组织文件,所有文件都从根目录(/) 开始。常见的重要目录及其作用:
/bin:存放基础命令(如ls、cp),所有用户可执行;/sbin:存放系统管理命令(如reboot、ifconfig),通常需 root 权限;/etc:存放系统配置文件(如网络配置、用户配置);/home:普通用户的主目录(如/home/book是book用户的个人文件夹);/root:管理员(root 用户)的主目录;/usr:存放应用程序、库文件等(类似 Windows 的Program Files);/var:存放动态变化的文件(如日志、缓存);/dev:存放设备文件(如硬盘/dev/sda、鼠标/dev/mouse)。
Linux 核心目录缩写与功能对照表
| 目录路径 | 缩写全称 | 核心功能 | 典型示例与说明 |
|---|---|---|---|
/ | Root Directory | 根目录,所有文件系统的起点 | 所有其他目录均为其子目录,如 /bin、/etc 等。 |
/bin | Binary | 存放系统基础二进制命令(所有用户可用) | ls(列表)、cp(复制)、mv(移动)、sh(Shell 解释器)等。 |
/sbin | Superuser Binary | 存放系统管理命令(仅限 root 用户) | ifconfig(网络配置)、reboot(重启)、fdisk(磁盘分区)等。 |
/etc | Editable Text Configuration | 系统全局配置文件中心 | /etc/passwd(用户账户)、/etc/network/interfaces(网络配置)、/etc/apt/sources.list(软件源)。 |
/home | Home Directory | 普通用户主目录,每个用户有专属子目录 | 如 /home/user1,存放用户文档、配置文件(如 .bashrc)等。 |
/root | Root User's Home Directory | root 用户的主目录,权限极高 | 仅 root 用户可访问,存放管理员个人文件和配置。 |
/usr | Unix System Resources | 用户级软件资源目录,类似 Windows 的 Program Files | /usr/bin(非核心命令,如 git、python)、/usr/share(文档、图标)等。 |
/var | Variable Files | 存放动态变化的文件(日志、缓存、邮件等) | /var/log/syslog(系统日志)、/var/cache/apt(软件包缓存)、/var/mail(邮件存储)。 |
/dev | Device Files | 设备文件目录,通过文件访问硬件 | /dev/sda(第一块硬盘)、/dev/null(黑洞设备,丢弃输入)、/dev/random(随机数生成)。 |
/proc | Process Information | 虚拟文件系统,实时反映内核和进程状态 | /proc/cpuinfo(CPU 信息)、/proc/meminfo(内存使用)、/proc/[PID](进程详情)。 |
/sys | System Information | 虚拟文件系统,提供内核与硬件交互接口 | /sys/devices(硬件设备树)、/sys/kernel(内核参数)。 |
/tmp | Temporary Files | 临时文件目录,系统重启后清空 | 程序运行时生成的临时文件,如 /tmp/tempfile.txt。 |
/lib | Library Files | 系统核心共享库文件(类似 Windows 的 DLL) | /lib/libc.so(C 标准库)、/lib/modules(内核模块)。 |
/boot | Boot Directory | 存放系统启动文件(内核、引导加载器) | /boot/vmlinuz(内核镜像)、/boot/grub(GRUB 配置)。 |
/mnt | Mount Point | 临时挂载点,用于手动挂载外部设备 | 如 mount /dev/sdb1 /mnt 挂载 U 盘到 /mnt。 |
/opt | Optional Software | 第三方软件安装目录(非系统默认) | 如手动安装的 Oracle 数据库存于 /opt/oracle。 |
/srv | Service Data | 服务数据目录,存放特定服务的资源 | 如 Web 服务器数据 /srv/www、FTP 服务器数据 /srv/ftp。 |
4. 应用程序(Applications)
用户直接使用的软件(如文本编辑器 vim、浏览器 firefox 等),运行在 “用户态”,通过 Shell 或图形界面调用内核功能。
