在日常 Linux 系统运维工作中,掌握一些常用的系统管理命令是必备技能。本文将详细介绍文件操作、网络诊断和进程管理三个方面的常用命令。

1. 文件操作

查看目录大小

du 命令用于估算磁盘使用空间,是排查磁盘空间问题的利器。

du -sh /var/log

命令参数说明:

  • -s:显示总计,不显示每个子目录的详情
  • -h:以人类可读的方式显示(KB、MB、GB)

常见用法:

# 查看当前目录各子目录大小
du -h --max-depth=1

# 按大小排序显示目录
du -h /var/log | sort -rh

# 查看最大的10个目录
du -ah /var/log | sort -rh | head -n 10

2. 网络诊断

检查端口占用

netstat 命令用于显示网络连接、路由表、接口统计等信息。在排查服务端口问题时非常有用。

netstat -tlnp | grep 80

命令参数说明:

  • -t:显示 TCP 协议连接
  • -l:只显示监听状态的套接字
  • -n:显示数字地址和端口号(不解析主机名)
  • -p:显示进程信息

常见用法:

# 查看所有 TCP 连接
netstat -tn

# 查看所有监听端口
netstat -tln

# 查看端口被哪个进程占用
netstat -tlnp | grep :80

# 查看 UDP 端口
netstat -ulnp

注意:在新版 Linux 系统中,建议使用 ss 命令替代 netstat,因为 ss 性能更好且功能更强大。

# 使用 ss 命令的等效用法
ss -tlnp | grep :80

3. 进程管理

重启服务

systemctl 是 systemd 系统和服务管理器的控制工具,用于管理 systemd 系统和服务。

systemctl restart nginx

常用服务管理命令:

# 启动服务
systemctl start nginx

# 停止服务
systemctl stop nginx

# 查看服务状态
systemctl status nginx

# 重新加载配置(不中断连接)
systemctl reload nginx

# 设置开机自启
systemctl enable nginx

# 禁用开机自启
systemctl disable nginx

# 查看所有服务状态
systemctl list-units --type=service

总结

掌握这些基础命令是 Linux 运维的必备技能。在实际工作中,这些命令经常组合使用,例如:

  1. 重启服务前先检查端口占用情况
  2. 服务异常时查看服务状态和日志
  3. 定期检查磁盘空间使用情况

参考资料