author
type
Post
status
Published
date
Feb 16, 2026
slug
summary
tags
Linux
category
运维
icon
password
一、系统启动流程详解
🔁 启动阶段划分(以 systemd 为主)
阶段 | 描述 |
1. BIOS/UEFI 自检 | 初始化硬件,选择启动设备 |
2. GRUB2 引导菜单 | 加载内核和 initramfs |
3. 内核实例化 | 挂载根文件系统 |
4. systemd 启动(PID=1) | 管理所有用户空间服务 |
5. 进入默认 target | 如 multi-user.target |
🧩 核心机制说明
- GRUB2:位于
/boot/grub2/grub.cfg,自动生成
- initramfs:临时根文件系统,用于加载驱动以便挂载真实根分区
- systemd unit 文件:服务存储在
/usr/lib/systemd/system/*.service
📌 常用命令
⚠️ 救援模式使用场景
忘记 root 密码?进入单用户模式重置密码
步骤:
- 开机进入 GRUB 菜单,按
e编辑启动项
- 在
linux16行末尾添加rd.break或init=/bin/bash
- 按
Ctrl+X启动
- 重新挂载
/sysroot为可写:
二、系统资源查看
📈 1. CPU 使用情况
示例:
💾 2. 内存使用情况
📝 参数解释:
free: 可用内存
buffers/cache: 缓冲区与缓存(Linux 会利用空闲内存做缓存,仍可用)
💿 3. 磁盘与 I/O 性能
🔀 4. 进程管理
三、远程登录管理(SSH)
🔐 SSH 安全远程访问协议(Secure Shell)
基本使用
提高安全性的最佳实践
措施 | 方法 |
❌ 禁用 root 直接登录 | 修改 /etc/ssh/sshd_config:<br>PermitRootLogin no |
✅ 使用密钥认证代替密码 | 免输密码 + 更安全 |
🔁 修改默认端口(可选) | Port 2222 防止机器人扫描 |
⚠️ 禁止密码登录(仅限密钥) | PasswordAuthentication no |
👤 限制允许登录的用户 | AllowUsers alice bob@192.168.* |
应用更改后重启服务:
SSH 密钥对生成与部署
四、网络配置与网络测试
🌐 1. 网络接口管理
静态 IP 配置示例(CentOS 使用 nmcli)
🧪 2. 网络连通性测试
工具 | 用途 |
ping | 测试网络是否可达 |
traceroute 或 tracepath | 跟踪数据包路径 |
mtr | 结合 ping 和 traceroute 的实时诊断工具 |
ss -tuln | 查看开放端口(替代 netstat) |
telnet ip port | 测试某端口是否开放 |
nc -zv ip port | 更专业的端口探测工具(netcat) |
示例:
五、网络安全基础
🛡️ 1. 防火墙管理(firewalld)
常见服务名:
ssh,http,https,mysql,dhcpv6-client
提示:生产环境建议关闭不必要的端口和服务。
🔒 2. SELinux 安全增强型 Linux
SELinux 是强制访问控制(MAC)系统,防止越权操作。
状态查看与设置
实战技巧
遇到服务无法启动但权限正常 → 很可能因 SELinux 报错!
解决方案:
批量修复上下文(如网站目录被拷贝错误):
六、定时任务管理(crond & at)
⏰ 1. crontab —— 周期性任务调度器
格式:
分 时 日 月 星期 命令示例
用户级 crontab 操作
注意:脚本尽量使用完整路径,避免因环境变量缺失失败!
📅 2. at —— 一次性延迟执行
适合执行“一段时间后的某个命令”。
七、时间同步服务(NTP / chrony)
准确的时间对于日志审计、证书验证、集群协调至关重要。
✅ 推荐工具:chrony(替代老旧 ntpd)
常用命令
查看是否已同步
八、系统备份与恢复策略
📦 备份方式分类
类型 | 特点 | 工具示例 |
完全备份 | 所有数据全部备份 | tar, rsync |
增量备份 | 仅上次以来变化的部分 | rsync --link-dest |
差异备份 | 相对于完全备份的变化 | rsync + 时间戳 |
快照备份 | LVM / Btrfs 快照 | lvcreate --snapshot |
✅ 推荐组合方案:tar + cron 实现每日自动备份
加入定时任务:
🔄 恢复操作
💡 建议把备份文件定期传送到异地服务器或云存储(如 rsync + SSH)
九、日志服务管理(rsyslog + journalctl)
📜 1. syslog 标准日志系统(rsyslog)
负责接收来自应用程序的消息,并分类记录。
主要配置文件:
/etc/rsyslog.conf
/etc/rsyslog.d/*.conf
日志存放位置:
/var/log/messages—— 系统通用日志(CentOS)
/var/log/secure—— 认证相关(SSH 登录等)
/var/log/cron—— 定时任务日志
/var/log/maillog—— 邮件服务日志
查看最新日志:
🔎 2. journalctl 查询 systemd 日志(强力推荐)
清理过大的日志文件
十、性能指标监控(持续观察)
🎯 推荐工具清单
工具 | 用途 |
top / htop | CPU & 内存实时监控 |
iostat | 磁盘 I/O 使用率 |
iotop | 哪个进程占用了磁盘 IO? |
vmstat | 系统整体健康状况(换页、中断) |
nmon | 专业监控工具(提供图形化界面) |
sar | 收集历史统计数据(sysstat 包) |
启用 sar 数据收集
输出示例:
表示:平均 CPU 利用率为 19%,I/O 等待较低,系统较流畅。
附录 A:常用命令速查表
功能 | 命令 |
查系统版本 | cat /etc/os-release |
查 IP 地址 | ip a |
查开放端口 | ss -tuln |
查磁盘使用 | df -h |
查目录大小 | du -sh /dir |
查进程 | ps aux \| grep name |
查防火墙状态 | firewall-cmd --list-all |
查 SELinux | sestatus |
查时间是否同步 | timedatectl |
查日志 | journalctl -u serviceName |
创建定时任务 | crontab -e |
查启动时间 | who -b |
附录 B:真实场景实战案例
✅ 案例 1:服务器突然变慢?如何排查?
步骤流程图:
✅ 案例 2:新部署 Web 服务无法从外网访问?
- 内部
curl <http://localhost> → 成功
- 外部 telnet ip 80 → 失败
ss -tuln | grep :80→ 无监听?→ 服务没启动!
- 修正后仍有问题 → 检查 firewall-cmd 是否放行 http
- 再不行 → 检查云平台安全组规则(AWS/Aliyun)
- 作者:NotionNext
- 链接:https://tangly1024.com/article/309db897-8f81-802d-8e65-d4385d3ba4b0
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。











