在日常 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 运维的必备技能。在实际工作中,这些命令经常组合使用,例如:
- 重启服务前先检查端口占用情况
- 服务异常时查看服务状态和日志
- 定期检查磁盘空间使用情况
参考资料
- GNU Coreutils - du: https://www.gnu.org/software/coreutils/manual/html_node/du-invocation.html
- Linux Man Pages - netstat: https://man7.org/linux/man-pages/man8/netstat.8.html
- systemd - systemctl: https://www.freedesktop.org/software/systemd/man/systemctl.html