Linux 系统架构总览
来自Brendan's site:

Linux 工具分类总表
按 Linux 系统分层组织,用于文章归类参考。
标记说明:✅ 常用 | ⬚ 不常用但重要
00 引言 — 系统架构总览
| 工具/概念 |
说明 |
| uname |
系统信息(内核版本、架构) |
| hostnamectl |
系统 hostname、OS、内核信息 |
| lsb_release / cat /etc/os-release |
发行版信息 |
| free -h |
内存概览 |
| nproc |
CPU 核心数 |
| uptime |
系统运行时间、负载 |
| arch / getconf LONG_BIT |
系统架构(x86_64 / aarch64) |
01 硬件层 (Hardware)
01.1 CPU
| 工具 |
类型 |
说明 |
| lscpu |
✅ 静态 |
CPU 架构、核心数、缓存、频率 |
| /proc/cpuinfo |
✅ 静态 |
CPU 详细信息(型号、flags) |
| cpuid |
⬚ 静态 |
CPUID 指令详细信息 |
| cpu-x |
⬚ 静态 |
GUI CPU 信息(类似 CPU-Z) |
| turbostat |
⬚ 动态 |
CPU 频率、功耗、C-State(Intel) |
| rdmsr |
⬚ 静态 |
读取 MSR 寄存器 |
| x86info |
⬚ 静态 |
x86 CPU 详细信息 |
01.2 内存 (RAM)
| 工具 |
类型 |
说明 |
| dmidecode |
✅ 静态 |
BIOS/硬件信息(含内存条详情) |
| lsmem |
✅ 静态 |
内存布局 |
| free |
✅ 动态 |
内存使用概览 |
| numactl / numastat |
⬚ 动态 |
NUMA 架构内存分配 |
| lstopo |
⬚ 静态 |
硬件拓扑图(CPU/NUMA/缓存) |
01.3 存储 / 磁盘
| 工具 |
类型 |
说明 |
| lsblk |
✅ 静态 |
块设备列表 |
| lsscsi |
⬚ 静态 |
SCSI 设备列表 |
| fdisk -l |
✅ 静态 |
分区表信息 |
| smartctl |
✅ 静态 |
SMART 磁盘健康状态 |
| hdparm |
⬚ 静态 |
硬盘参数(DMA、缓存) |
| sdparm |
⬚ 静态 |
SCSI 设备参数 |
| nvme list |
⬚ 静态 |
NVMe 设备列表 |
| MegaCli / storcli |
⬚ 静态 |
RAID 控制器管理 |
01.4 总线 / 设备
| 工具 |
类型 |
说明 |
| lspci |
✅ 静态 |
PCI 设备列表(显卡、网卡、USB 控制器) |
| lsusb |
✅ 静态 |
USB 设备列表 |
| lshw |
✅ 静态 |
完整硬件清单 |
| hwinfo |
⬚ 静态 |
硬件详细信息 |
| biosdecode |
⬚ 静态 |
BIOS 信息解码 |
| sensors |
✅ 动态 |
温度、电压、风扇转速(lm_sensors) |
01.5 网络(硬件级)
| 工具 |
类型 |
说明 |
| ethtool |
✅ 静态/动态 |
网卡参数(速率、双工、驱动) |
| ethtool -i |
✅ 静态 |
网卡驱动和固件版本 |
| mii-tool |
⬚ 静态 |
网卡链路状态(旧) |
| lldptool |
⬚ 静态 |
LLDP 链路层发现协议 |
02 内核层 (Kernel)
02.1 内核信息与模块
| 工具 |
类型 |
说明 |
| /proc/version |
✅ 静态 |
内核版本 |
| dmesg |
✅ 动态 |
内核日志(启动信息、硬件检测) |
| lsmod |
✅ 静态 |
已加载内核模块 |
| modprobe / insmod / rmmod |
✅ 静态 |
加载/卸载内核模块 |
| modinfo |
✅ 静态 |
模块详细信息 |
| sysctl |
✅ 动态 |
内核参数读写(/proc/sys) |
| /sys/ |
✅ 静态 |
sysfs 内核对象属性 |
| journalctl -k |
✅ 动态 |
内核日志(systemd) |
02.2 进程管理 / 调度
| 工具 |
类型 |
说明 |
| ps |
✅ 动态 |
进程快照 |
| top / htop / btm |
✅ 动态 |
进程实时监控 |
| pgrep / pkill |
✅ 动态 |
按名称查找/杀死进程 |
| kill / killall |
✅ 动态 |
发送信号 |
| pstree |
✅ 静态 |
进程树 |
| nice / renice |
✅ 静态 |
进程优先级 |
| schedtool |
⬚ 静态 |
调度策略设置 |
| taskset |
⬚ 静态 |
CPU 亲和性 |
| chrt |
⬚ 静态 |
实时调度策略 |
| prctl |
⬚ 静态 |
进程属性控制 |
| /proc/PID/ |
✅ 静态 |
进程详细信息(status, maps, fd, io) |
02.3 内存管理
| 工具 |
类型 |
说明 |
| vmstat |
✅ 动态 |
虚拟内存统计 |
| free |
✅ 动态 |
内存使用 |
| slabtop |
⬚ 动态 |
内核 slab 缓存 |
| pmap |
✅ 动态 |
进程内存映射 |
| /proc/meminfo |
✅ 静态 |
内存详细信息 |
| /proc/vmstat |
⬚ 静态 |
VM 事件计数器 |
| swapon / swapoff |
✅ 静态 |
交换分区管理 |
02.4 文件系统 / VFS
| 工具 |
类型 |
说明 |
| df |
✅ 静态 |
磁盘空间(VFS 级) |
| du |
✅ 静态 |
目录空间占用 |
| mount / umount |
✅ 静态 |
挂载文件系统 |
| findmnt |
✅ 静态 |
挂载点树 |
| blkid |
✅ 静态 |
块设备 UUID/类型 |
| mkfs.* |
✅ 静态 |
创建文件系统 |
| fsck |
✅ 静态 |
文件系统检查修复 |
| tune2fs |
⬚ 静态 |
ext2/3/4 参数调整 |
| xfs_info / xfs_db |
⬚ 静态 |
XFS 文件系统信息 |
| btrfs subvolume |
⬚ 静态 |
Btrfs 子卷管理 |
| lsof |
✅ 动态 |
打开的文件列表 |
| fuser |
✅ 动态 |
使用文件/端口的进程 |
| inotifywait |
⬚ 动态 |
文件系统事件监控 |
| fatrace |
⬚ 动态 |
文件访问追踪 |
02.5 卷管理
| 工具 |
类型 |
说明 |
| lsblk |
✅ 静态 |
块设备树 |
| fdisk / gdisk / parted |
✅ 静态 |
分区管理 |
| pv/vg/lv* (LVM) |
✅ 静态 |
逻辑卷管理 |
| mdadm |
⬚ 静态 |
软件 RAID |
| cryptsetup |
⬚ 静态 |
LUKS 磁盘加密 |
| losetup |
⬚ 静态 |
回环设备管理 |
| blkdiscard |
⬚ 静态 |
SSD 修剪(TRIM) |
| fstrim |
⬚ 静态 |
文件系统级 TRIM |
02.6 网络栈
| 工具 |
类型 |
说明 |
| ip (ip addr/route/link/neigh) |
✅ 静态/动态 |
网络接口、路由、邻居 |
| ifconfig |
⬚ 静态 |
网络接口(已废弃,用 ip) |
| route |
⬚ 静态 |
路由表(已废弃,用 ip route) |
| ss |
✅ 动态 |
Socket 统计(替代 netstat) |
| netstat |
⬚ 动态 |
网络统计(已废弃,用 ss) |
| nstat |
⬚ 动态 |
网络统计计数器 |
| tc |
⬚ 动态 |
流量控制(QoS) |
| bridge / brctl |
⬚ 静态 |
网桥管理 |
| ip netns |
⬚ 静态 |
网络命名空间 |
| iptables / nft |
✅ 静态 |
防火墙/包过滤 |
| conntrack |
⬚ 动态 |
连接追踪表 |
| arping / arp |
⬚ 动态 |
ARP 表 |
| vconfig / ip link (vlan) |
⬚ 静态 |
VLAN 管理 |
02.7 设备驱动
| 工具 |
类型 |
说明 |
| lsmod |
✅ 静态 |
已加载模块 |
| modprobe |
✅ 静态 |
加载模块(含依赖) |
| udevadm |
✅ 静态/动态 |
设备事件管理 |
| /sys/bus/ /sys/class/ |
✅ 静态 |
设备树(sysfs) |
| mknod |
⬚ 静态 |
创建设备节点 |
| udev rules |
⬚ 静态 |
设备命名规则 |
03 系统接口层 (System Interface)
03.1 系统调用
| 工具 |
类型 |
说明 |
| strace |
✅ 动态 |
追踪系统调用 |
| ltrace |
✅ 动态 |
追踪库函数调用 |
| /usr/include/asm/unistd_64.h |
⬚ 静态 |
系统调用号表 |
| ausyscall |
⬚ 静态 |
系统调用号/名称映射 |
| perf trace |
⬚ 动态 |
系统调用追踪(perf) |
03.2 动态链接 / 库
| 工具 |
类型 |
说明 |
| ldd |
✅ 静态 |
查看动态库依赖 |
| ldconfig |
✅ 静态 |
动态链接器缓存管理 |
| objdump |
✅ 静态 |
二进制反汇编/分析 |
| readelf |
✅ 静态 |
ELF 文件信息 |
| nm |
✅ 静态 |
符号表 |
| file |
✅ 静态 |
文件类型识别 |
| patchelf |
⬚ 静态 |
修改 ELF(rpath 等) |
| chrpath |
⬚ 静态 |
修改 rpath |
03.3 POSIX / 标准
| 概念 |
说明 |
| POSIX.1 |
系统接口标准 |
| LSB (Linux Standard Base) |
Linux 标准规范 |
| FHS (Filesystem Hierarchy Standard) |
文件系统目录标准 |
| man 2 / man 3 |
系统调用 / 库函数手册 |
04 Shell 层 (Shell)
04.1 Shell 基础
| 工具/概念 |
说明 |
| bash / zsh / fish |
Shell 解释器 |
| ~/.bashrc / ~/.zshrc |
Shell 配置 |
| ~/.profile / ~/.bash_profile |
登录配置 |
| env / set / export |
环境变量 |
| alias |
命令别名 |
| history |
命令历史 |
| source / . |
执行脚本 |
04.2 核心命令
| 工具 |
分类 |
说明 |
| cd / pwd / ls |
导航 |
目录操作 |
| cp / mv / rm / mkdir |
文件操作 |
复制、移动、删除 |
| cat / less / head / tail |
查看 |
文件内容查看 |
| find / locate |
搜索 |
文件查找 |
| grep / sed / awk |
文本处理 |
文本搜索/替换/分析 |
| sort / uniq / wc / cut / tr |
文本处理 |
文本统计/变换 |
| xargs |
管道 |
参数传递 |
| tee |
管道 |
分流输出 |
| diff / patch |
比较 |
文件差异/补丁 |
| tar / zip / unzip / 7z |
压缩 |
归档压缩 |
| chmod / chown / chgrp |
权限 |
文件权限管理 |
| ln |
链接 |
软/硬链接 |
| which / whereis / type |
查找 |
命令位置 |
| date / cal |
时间 |
日期时间 |
| echo / printf |
输出 |
文本输出 |
| test / [ ] / [[ ]] |
条件 |
条件判断 |
|
/ > / >> / < / 2>&1 |
管道/重定向 |
04.3 脚本编程
| 概念 |
说明 |
| if/elif/else/fi |
条件分支 |
| for/while/until |
循环 |
| case/esac |
多分支 |
| function |
函数定义 |
| $1..$9, $@, $#, $? |
特殊变量 |
| return / exit |
返回值 |
| trap |
信号处理 |
| getopts |
参数解析 |
| [[ ]] vs [ ] |
增强条件测试 |
| $( ) vs ` ` |
命令替换 |
| <( ) |
进程替换 |
05.1 编译工具
| 工具 |
说明 |
| gcc / g++ |
GNU 编译器 |
| clang / clang++ |
LLVM 编译器 |
| make |
构建自动化 |
| cmake |
跨平台构建系统 |
| autotools (autoconf/automake) |
GNU 构建系统 |
| meson / ninja |
新一代构建系统 |
| pkg-config |
库编译参数查询 |
| ar / ranlib / strip |
静态库/二进制工具 |
| as |
GNU 汇编器 |
| ld |
GNU 链接器 |
05.2 调试工具
| 工具 |
类型 |
说明 |
| gdb |
✅ 动态 |
GNU 调试器 |
| lldb |
✅ 动态 |
LLVM 调试器 |
| valgrind |
✅ 动态 |
内存泄漏检测 |
| AddressSanitizer (ASan) |
✅ 动态 |
内存错误检测(编译器内置) |
| UndefinedBehaviorSanitizer |
⬚ 动态 |
未定义行为检测 |
| strace |
✅ 动态 |
系统调用追踪 |
| ltrace |
✅ 动态 |
库调用追踪 |
| coredumpctl |
✅ 静态 |
core dump 管理 |
| gdbserver |
⬚ 动态 |
远程调试 |
05.3 代码分析
| 工具 |
类型 |
说明 |
| cppcheck |
⬚ 静态 |
C/C++ 静态分析 |
| clang-tidy |
⬚ 静态 |
C++ Lint |
| flawfinder |
⬚ 静态 |
安全漏洞扫描 |
| splint |
⬚ 静态 |
C 代码检查 |
| doxygen |
✅ 静态 |
代码文档生成 |
| ctags / cscope |
✅ 静态 |
代码导航 |
05.4 版本控制
| 工具 |
说明 |
| git |
分布式版本控制 |
| github / gitlab |
代码托管平台 |
| git-lfs |
大文件存储 |
| git-flow |
分支管理策略 |
| pre-commit |
Git hook 管理 |
06 应用程序层 (Applications)
06.1 网络/远程
| 工具 |
说明 |
| ssh / sshd |
远程登录 |
| scp / sftp |
远程文件传输 |
| rsync |
增量同步 |
| curl |
HTTP/FTP 客户端 |
| wget |
文件下载 |
| nc (netcat) |
网络瑞士军刀 |
| nmap |
端口扫描 |
| mosh |
移动 SSH |
| sshfs |
SSH 挂载远程目录 |
| rdesktop / xfreerdp |
远程桌面 |
| wireguard / openvpn |
VPN |
06.2 多媒体
| 工具 |
说明 |
| ffmpeg |
音视频处理 |
| imagemagick (convert/magick) |
图像处理 |
| sox |
音频处理 |
| vlc / mpv |
媒体播放 |
| gstreamer |
多媒体框架 |
| handbrake |
视频转码 |
06.3 文本/文档
| 工具 |
说明 |
| vim / neovim |
编辑器 |
| emacs |
编辑器 |
| nano |
简易编辑器 |
| pandoc |
文档格式转换 |
| tex / latex |
排版系统 |
| jq |
JSON 处理 |
| yq |
YAML 处理 |
| xmllint |
XML 处理 |
| dos2unix |
换行符转换 |
06.4 系统管理
| 工具 |
说明 |
| systemctl |
systemd 服务管理 |
| journalctl |
systemd 日志 |
| dnf / apt / pacman |
包管理 |
| crontab / systemd timer |
定时任务 |
| useradd / usermod / passwd |
用户管理 |
| groupadd / gpasswd |
组管理 |
| su / sudo |
权限切换 |
| chroot |
切换根目录 |
| systemd-nspawn |
轻量容器 |
| hostname / timedatectl / localectl |
系统设置 |
| loginctl |
登录管理 |
| firewall-cmd / ufw |
防火墙 |
| selinux / getenforce / audit2allow |
SELinux |
06.5 容器/虚拟化
| 工具 |
说明 |
| docker / podman |
容器引擎 |
| buildah |
容器镜像构建 |
| kubectl / k8s |
容器编排 |
| docker-compose |
容器编排(单机) |
| qemu / kvm |
虚拟机 |
| virt-manager |
虚拟机 GUI |
| vagrant |
开发环境管理 |
06.6 开发语言运行时
| 工具 |
说明 |
| python / pip / venv |
Python |
| node / npm / pnpm |
Node.js |
| rust / cargo |
Rust |
| go |
Go |
| java / mvn / gradle |
Java |
| dotnet |
.NET |
07 性能与观测 (Observability)
| 工具 |
目标子系统 |
说明 |
| lscpu / /proc/cpuinfo |
CPU |
CPU 配置 |
| lsmem / dmidecode |
内存 |
内存配置 |
| lsblk / fdisk -l |
存储 |
磁盘配置 |
| lspci / lsusb |
总线 |
设备配置 |
| ethtool -i |
网络 |
网卡配置 |
| sysctl / /sys |
内核 |
内核参数 |
| dmesg |
内核 |
启动/硬件日志 |
| schedtool |
调度器 |
调度策略 |
| df / mount |
VFS |
文件系统配置 |
| ip addr / ip route |
网络 |
接口/路由配置 |
| ldd |
库 |
库依赖 |
| ulimit |
资源 |
资源限制 |
| getconf |
系统 |
系统配置变量 |
系统级
| 工具 |
目标 |
说明 |
| vmstat |
全局 |
CPU/内存/IO 概览 |
| mpstat |
CPU |
CPU 使用率(per-core) |
| iostat |
磁盘 |
IO 吞吐/延迟 |
| netstat / ss |
网络 |
Socket 统计 |
| sar |
全局 |
历史性能数据(sysstat) |
| dstat |
全局 |
vmstat + iostat + netstat 合体 |
进程级
| 工具 |
目标 |
说明 |
| top / htop |
进程 |
进程资源使用 |
| pidstat |
进程 |
per-process CPU/内存/IO |
| iotop |
进程 |
per-process 磁盘 IO |
| nethogs |
进程 |
per-process 网络带宽 |
| /proc/PID/ |
进程 |
进程详细信息 |
高级追踪
| 工具 |
目标 |
说明 |
| perf |
全栈 |
CPU profiling、硬件事件 |
| perf record / report |
CPU |
函数级热点分析 |
| perf stat |
CPU |
性能计数器 |
| perf trace |
系统 |
系统调用追踪 |
| ftrace |
内核 |
内核函数追踪 |
| strace |
系统调用 |
进程系统调用追踪 |
| ltrace |
库调用 |
库函数追踪 |
| eBPF / bpftrace |
全栈 |
可编程内核追踪 |
| BCC tools |
全栈 |
eBPF 工具集 |
| SystemTap |
内核 |
内核动态追踪 |
网络
| 工具 |
目标 |
说明 |
| tcpdump |
网络包 |
抓包分析 |
| wireshark / tshark |
网络包 |
GUI/CLI 抓包分析 |
| nicstat |
网卡 |
网卡吞吐 |
| iperf3 |
网络 |
网络带宽测试 |
| ping / mtr |
网络 |
连通性/路由 |
| traceroute / tracepath |
网络 |
路由追踪 |
| dig / nslookup |
DNS |
DNS 查询 |
| curl -w |
HTTP |
HTTP 性能指标 |
磁盘 IO
| 工具 |
目标 |
说明 |
| iostat |
磁盘 |
IO 统计 |
| iotop |
进程 |
per-process IO |
| blktrace |
块设备 |
块层 IO 追踪 |
| fio |
存储 |
IO 性能基准测试 |
| dd |
存储 |
简单 IO 测试 |
| hdparm -t |
磁盘 |
磁盘读取速度 |
| biosnoop |
块设备 |
per-IO 延迟(BCC) |
| biolatency |
块设备 |
IO 延迟分布(BCC) |
| biotop |
块设备 |
IO top(BCC) |
归类疑难对照表
不知道归哪时查这里:
| 工具/概念 |
你可能觉得是 |
实际归类 |
| strace |
调试?Shell? |
03 系统接口层 → 系统调用 |
| ldd |
编译?库? |
03 系统接口层 → 动态链接 |
| gdb / lldb |
GNU 工具? |
05 GNU 工具链 → 调试工具 |
| valgrind |
性能?调试? |
05 GNU 工具链 → 调试工具 |
| curl / wget |
网络?应用? |
06 应用程序 → 网络/远程 |
| docker / podman |
系统?虚拟化? |
06 应用程序 → 容器/虚拟化 |
| ffmpeg |
应用?多媒体? |
06 应用程序 → 多媒体 |
| git |
Shell?应用? |
05 GNU 工具链 → 版本控制 |
| cmake / make |
应用?编译? |
05 GNU 工具链 → 编译工具 |
| doxygen |
应用?文档? |
05 GNU 工具链 → 代码分析 |
| ImageMagick |
应用?图像? |
06 应用程序 → 多媒体 |
| ssh |
网络?应用? |
06 应用程序 → 网络/远程 |
| perf / eBPF |
内核?性能? |
07 性能与观测 → 高级追踪 |
| tcpdump |
网络?性能? |
07 性能与观测 → 网络 |
| top / htop |
Shell?进程? |
02 内核层 → 进程管理 + 07 性能与观测 |
| journalctl |
系统?日志? |
02 内核层 → 内核信息 + 06 应用程序 → 系统管理 |
| selinux |
安全?系统? |
06 应用程序 → 系统管理 |
| find / grep / awk |
Shell?文本? |
04 Shell 层 → 核心命令 |
| vim / nano |
应用?编辑器? |
06 应用程序 → 文本/文档 |
| python / node |
应用?语言? |
06 应用程序 → 开发语言运行时 |
| iptables / nft |
网络?防火墙? |
02 内核层 → 网络栈 |
| crontab |
系统?定时? |
06 应用程序 → 系统管理 |