当前位置:首页>Linux>Linux核心知识点详尽清单

Linux核心知识点详尽清单

  • 2026-09-02 20:28:45
Linux核心知识点详尽清单

Linux操作系统核心知识点详尽清单

这份清单系统梳理了Linux操作系统的核心知识点,涵盖基础概念、文件系统、命令行操作、进程内存管理、内核架构、系统启动、网络安全等多个层面。适合运维、开发、内核学习或面试准备,按层次从用户级到内核级组织,便于循序渐进掌握。

1. Linux概述与体系结构

  • 定义与特点
    :开源、免费、多用户多任务类Unix操作系统;“一切皆文件”哲学;稳定、安全、高效;内核(Kernel)是核心,发行版(如Ubuntu、CentOS/RHEL、Debian)提供完整系统。
  • 历史
    :Linus Torvalds 1991年基于Minix开发;继承Unix设计(简单、优雅、一致性、最小惊讶原则)。
  • 体系结构层次
    :
    • 用户空间(Applications + Shell + Libraries)
    • 系统调用接口(System Call)
    • 内核空间(Kernel):进程管理、内存管理、文件系统、设备驱动、网络栈
    • 硬件层

内核特点:单体内核(Monolithic Kernel),模块化、可动态加载;支持抢占式多任务、对称多处理(SMP)。

2. 文件系统与目录结构(FHS标准)

  • 核心理念
    :一切皆文件(设备、目录、网络接口等均视为文件)。
  • inode机制
    :存储文件元数据(权限、大小、时间戳、数据块指针);不存实际数据;每个文件系统inode数量固定,用尽则无法创建新文件。
  • 硬链接 vs 软链接
    :
    类型
    inode关系
    删除影响
    跨文件系统
    命令
    硬链接
    共享同一inode
    需删除所有才真正删除
    否
    ln 源 目标
    软链接
    独立inode指向路径
    源文件删后失效
    是
    ln -s 源 目标
  • 文件类型
    (ls -l显示):-普通文件、d目录、l软链接、c字符设备、b块设备、p管道、s套接字。
  • 目录树结构
    (Filesystem Hierarchy Standard):

linux文件系统目录层次结构FSH_fsh目录-CSDN博客

关键目录:

  • /bin、/sbin:基础/系统命令
  • /etc:配置文件(passwd、fstab、hosts等)
  • /home:用户主目录
  • /var:日志、可变数据
  • /proc:虚拟文件系统(进程、内存信息)
  • /dev:设备文件
  • /boot:内核、引导文件
  • /usr:用户程序、库
  • /tmp:临时文件
  • 文件系统类型
    :ext4(带日志)、XFS、Btrfs、NFS(网络)、tmpfs(内存)。

3. Shell、命令行基础与常用命令

  • Shell
    :Bash默认;支持管道、重定向>、<、2>、通配符* ? []、变量、脚本。
  • 核心命令分类
    (掌握参数与组合):
    • 文件/目录
      :ls -la、cd、pwd、mkdir -p、rm -rf、cp -r、mv、touch、cat、more、less、head、tail -f、find、grep -r、tree。
    • 压缩/归档
      :tar -zcvf、tar -xvf、gzip、zip。
    • 权限
      :chmod 755、chown、chgrp、umask。
    • 用户/组
      :useradd、passwd、su -、sudo、groupadd。
    • 系统监控
      :ps aux、top/htop、free -h、df -h、du -sh、uptime、w、who。
    • 网络
      :ping、ifconfig/ip addr、netstat -tuln/ss、curl、wget、scp、ssh。
    • 包管理
      :Yum/DNF(CentOS):yum install、dnf update;APT(Ubuntu):apt install、apt update。
    • 其他
      :echo、alias、history、kill -9、systemctl、journalctl。

4. 用户、权限与安全管理

  • 用户/组
    :UID(0=root)、GID;/etc/passwd、/etc/shadow、/etc/group。
  • 权限模型
    :rwx(4+2+1);所有者/组/其他;特殊权限SUID/SGID/Sticky。
  • ACL
    :setfacl、getfacl。
  • 安全
    :SELinux/AppArmor、防火墙(firewalld/iptables)、sudoers、ssh密钥登录、fail2ban。

5. 进程、线程与作业管理

  • 进程概念
    :资源分配单位;PCB(task_struct);PID(1=init/systemd)。
  • 五态模型
    (Linux实际多为R/S/D/T/Z):

Process in Linux - DataFlair

  • 线程
    :轻量级进程,共享地址空间;NPTL实现。
  • 调度
    :CFS(完全公平调度器,红黑树)、实时调度。
  • IPC
    :管道、信号(kill)、消息队列、共享内存、socket、semaphore。
  • 命令
    :ps、top、kill、nice、renice、bg、fg、jobs、nohup、screen/tmux。
  • 守护进程
    :以d结尾,后台运行(如sshd)。

6. 内存管理

  • 虚拟内存
    :分页(页表、多级)、按需分页、缺页中断。
  • Buddy算法
    :2的幂次方伙伴系统,减少外碎片。
  • Swap
    :交换空间,处理内存不足。
  • 缓存
    :页缓存、缓冲区缓存。
  • 监控
    :free、vmstat、cat /proc/meminfo。

7. 系统启动与初始化(Boot Process)

  • 流程:BIOS/UEFI → Bootloader(GRUB) → Kernel → initrd/initramfs → systemd(PID 1) → 目标(target,如multi-user.target) → 服务启动。

How Does Linux Boot Process Work?

关键文件:/boot/grub2/grub.cfg、/etc/fstab、/etc/systemd/system。

8. 内核核心子系统

  • 子系统
    :进程调度、内存管理、VFS(虚拟文件系统)、设备驱动、块层、网络协议栈(TCP/IP)。
  • 模块
    :lsmod、modprobe、insmod。
  • 编译与调优
    :/usr/src/linux、config、make。
  • 系统调用
    :用户态→内核态切换(如read、fork)。

9. 网络配置与工具

  • 接口
    :ip link、nmcli、ifcfg文件。
  • 路由
    :ip route、traceroute。
  • 防火墙
    :firewall-cmd、iptables -t filter -A INPUT。
  • 服务
    :Nginx/Apache、sshd、firewalld。
  • 监控
    :netstat、ss、tcpdump、wireshark。

10. 存储与磁盘管理

  • 分区
    :fdisk、parted、lsblk。
  • 文件系统
    :mkfs.ext4、mount、umount、fsck。
  • LVM
    :逻辑卷管理(pvcreate、vgcreate、lvcreate)。
  • RAID
    、NFS、iSCSI。

11. 日志、监控、性能调优与故障排除

  • 日志
    :/var/log/、journalctl、rsyslog。
  • 监控
    :sar、iotop、strace、lsof、netstat。
  • 调优
    :sysctl(/etc/sysctl.conf)、ulimit、OOM Killer。
  • 常见故障
    :磁盘满、进程僵尸、内核panic、权限问题、网络不通。

12. 高级知识点(扩展)

  • 自动化
    :Shell脚本(变量、循环、函数)、cron/at、Ansible。
  • 容器化
    :Docker基础(image、container、volume、network)、Podman、Kubernetes入门。
  • 备份恢复
    :rsync、tar、dd、LVM快照。
  • 内核开发基础
    :C语言、task_struct、module编程、驱动模型。

学习建议:

  • 实践:安装CentOS/Ubuntu虚拟机,每天练习命令。
  • 资源:Man pages(man command)、官方文档(kernel.org)、RHCSA/Red Hat认证路径。
  • 进阶:阅读《Linux内核设计与实现》、《深入理解Linux内核》;编译内核;贡献开源。

这份清单覆盖了90%以上核心场景,结合实际操作与源码阅读可深入掌握。

最新文章

随机文章