服务器设置和教程 · 2 2 月, 2026

Ubuntu 服务器常用运维命令大全

在Ubuntu服务器运维中,命令行才是最可靠的工具。这份清单聚焦高频场景和现代命令,帮助你在故障时快速定位问题,减少排查时间。内容按工作流程组织,只保留最实用部分,适合日常参考和应急使用。

1. 快速判断服务器当前状态(登录后前5秒必做)

登录服务器后,首先需要确认环境和资源状态,避免误操作。

  • hostnamectl:显示主机名、系统版本、内核、虚拟化类型等关键信息,是现代Ubuntu最全面的系统概览命令。
  • uptime 或 w:查看系统运行时长、在线用户数以及1/5/15分钟负载平均值,帮助快速判断服务器是否处于高负载状态。
  • free -h:以人类可读格式显示内存使用情况,重点关注available列,这是真正可用于新进程的内存。
  • df -h:检查所有挂载点的磁盘空间使用率,特别是根分区、/var和数据目录是否接近满载。
  • top(或提前安装htop/btop):实时查看进程资源占用,按M排序内存、P排序CPU,能立即发现异常高占用进程。

这五条命令组合使用,几乎能覆盖80%的“服务器突然变慢”初步诊断需求。

2. 软件包管理(APT体系)

Ubuntu的软件管理依赖APT体系,apt命令已成为主流。

标准操作流程:

  1. sudo apt update:刷新软件源索引,确保获取最新包信息。
  2. sudo apt upgrade:升级所有已安装软件包,-y参数可跳过确认。
  3. sudo apt full-upgrade:处理涉及依赖变更或内核更新的复杂升级场景。
  4. sudo apt install 包名:安装指定软件,支持同时安装多个包。
  5. sudo apt remove –purge 包名 && sudo apt autoremove:彻底删除软件并清理无用依赖。

其他常用功能:

  • apt search 关键词:搜索可用软件包。
  • apt show 包名:查看包的版本、依赖、大小等详细信息。
  • apt list –installed:列出所有已安装包,更直观。
  • sudo apt install -f:修复损坏的依赖关系。
  • sudo needrestart(需安装):升级后检查哪些服务需要重启。

3. 服务与进程管理(systemd时代)

systemd已成为Ubuntu服务管理的标准。

  • systemctl status 服务名:查看服务运行状态、PID和最近日志。
  • systemctl start/stop/restart/reload 服务名:基本控制操作,reload适用于仅重载配置的场景。
  • systemctl enable/disable 服务名:设置或取消开机自启。
  • journalctl -u 服务名 -n 200:查看服务最近200行日志。
  • journalctl -u 服务名 -f:实时跟随日志输出。
  • journalctl -u 服务名 –since “2 hours ago”:按时间段查看日志。
  • ss -tulnp:列出所有监听端口及其对应进程,已完全取代netstat。
  • pkill -f 特征 或 killall 进程名:快速终止匹配进程。

4. 网络诊断与端口排查

网络问题是运维中最常见的故障点。

  • ip a:简洁查看所有网卡IP和状态。
  • ip route:显示路由表和默认网关。
  • ping -c 4 目标 或 mtr 目标:测试连通性和路径延迟,mtr更适合观察波动。
  • dig +short 域名:快速查询DNS解析结果。
  • curl -I 网址:仅获取HTTP响应头,判断站点是否正常。
  • sudo ufw status verbose:查看简易防火墙规则。
  • sudo ufw allow 端口/tcp 或 sudo ufw allow from 特定IP:快速开放端口或限制来源。

5. 磁盘、文件、空间管理

磁盘空间耗尽是导致服务异常的常见原因。

  • df -h 和 df -i:分别查看空间和inode使用情况,inode满同样会导致“无法写入”。
  • du -sh /* | sort -hr:找出根目录下占用最大的目录。
  • find / -type f -size +1G 2>/dev/null:定位超大文件。
  • find /var/log -type f -mtime +90:查找超过90天的旧日志文件。

常规清理措施:

  • sudo apt clean:清除下载的deb包缓存。
  • sudo journalctl –vacuum-time=90d 或 –vacuum-size=5G:限制systemd日志体积。
  • 谨慎清理 /tmp 目录(建议重启前执行)。

6. 日志查看与定位

日志是排查问题的核心依据。

  • journalctl -xe:查看最近的关键错误事件。
  • journalctl –priority=3:仅显示error及以上级别日志。
  • tail -n 200 -f /var/log/应用日志:传统方式跟踪特定日志文件。
  • grep -i “error|fail|denied” /var/log/auth.log:快速筛选认证相关异常。
  • last:查看最近成功登录记录。
  • grep “Failed password” /var/log/auth.log | tail -20:检查暴力破解尝试。

7. 用户与安全相关

  • w:查看当前在线用户及其操作。
  • adduser 用户名 → usermod -aG sudo 用户名 → passwd 用户名:标准创建管理员用户流程。
  • 通过 /etc/sudoers.d/ 创建独立文件配置sudo权限,更安全可控。

8. 性能历史数据(sysstat套件)

安装sysstat后,使用sar查看历史指标:

  • sar -u:CPU历史使用率。
  • sar -r:内存历史使用情况。
  • sar -d:磁盘IO历史性能。
  • sar -n DEV:网卡流量历史统计。

9. 快速备份小技巧

  • tar -zcf backup-$(date +%F).tar.gz /目标目录:打包压缩。
  • rsync -avz –delete 来源/ 目标:增量同步并保持一致。
  • mysqldump –single-transaction 库名 > backup.sql:数据库逻辑备份。

总结:30秒黄金排查链

面对突发故障,按以下顺序执行:

  1. uptime / w → 判断负载和异常用户
  2. free -h + df -h → 检查资源是否耗尽
  3. top → 定位高占用进程
  4. systemctl status 相关服务
  5. journalctl -u 服务 -n 100 -xe → 查看错误日志

熟练掌握这些命令和思路,能大幅提升故障响应速度。希望这份清单成为你的日常参考工具。