在服务器运维领域,CentOS以其稳定性和与Red Hat Enterprise Linux(RHEL)的高度兼容性,长久以来占据了核心地位,对于一名合格的运维工程师而言,熟练掌握CentOS的运维指令不仅是基本功,更是保障系统高效、稳定运行的关键,这些指令如同瑞士军刀,能够帮助我们洞悉系统状态、管理资源、排查故障、优化性能,是通往服务器核心世界的钥匙。

系统信息查看
在任何运维操作开始之前,首先需要了解服务器的当前状态,以下指令提供了快速获取系统核心信息的途径。
uname -a:显示完整的系统信息,包括内核名称、版本、主机名等。hostnamectl:一个更为现代和强大的工具,用于查看和设置系统的主机名及其他相关信息。w或who:查看当前已登录系统的用户列表及其活动情况。uptime:显示系统已经运行了多长时间以及当前的负载平均值,是判断系统繁忙程度的快速指标。df -h:以人类可读的格式(如KB, MB, GB)显示磁盘分区的使用情况。-h参数是运维中最常用的选项。free -h:同样以人类可读的格式查看系统内存和交换空间的使用状况。last:列出最近登录系统的用户记录,对于安全审计非常有用。
文件与目录操作
文件管理是Linux系统中最为频繁的操作,下表汇总了最核心的文件与目录操作指令。
| 指令 | 描述 | 示例 |
|---|---|---|
ls | 列出目录内容 | ls -la (列出所有文件,包括隐藏文件,并显示详细信息) |
cd | 切换当前工作目录 | cd /var/log (进入日志目录) |
cp | 复制文件或目录 | cp -r source_dir/ destination_dir/ (递归复制整个目录) |
mv | 移动或重命名文件/目录 | mv old_name.txt new_name.txt |
rm | 删除文件或目录 | rm -rf directory/ (强制递归删除,请务必谨慎使用) |
mkdir | 创建新目录 | mkdir -p project/data (创建多级目录) |
find | 在指定目录下查找文件 | find / -name "config.ini" (在整个根目录查找名为config.ini的文件) |
tar | 对文件进行打包、压缩或解压 | tar -czvf archive.tar.gz /path/to/dir (创建.gz压缩包) |
cat / less / more | 查看文件内容 | less large_file.log (less可分页浏览,支持上下翻页) |
进程与服务管理
管理运行在服务器上的进程和服务是运维工作的核心,CentOS 7及以上版本广泛使用systemd作为初始化和服务管理器。
ps aux或ps -ef:查看当前系统中的所有进程。aux和-ef是两种常用的参数组合,显示的信息略有不同。top/htop:实时动态地查看进程状态、CPU和内存占用情况。htop是top的增强版,界面更友好,功能更强大,但通常需要额外安装。kill/killall:用于终止进程。kill需要指定进程ID(PID),而killall则通过进程名来终止。kill -9 1234会强制终止PID为1234的进程。systemctl:这是管理systemd服务的核心指令。-
systemctl start/stop/restart service_name:启动/停止/重启服务。 -
systemctl status service_name:查看服务的详细运行状态。 -
systemctl enable/disable service_name:设置服务开机自启/禁止开机自启。 -
journalctl -u service_name:查看特定服务的日志。
-
网络配置与诊断
网络是服务器的生命线,网络问题的排查能力至关重要。

ip addr或ifconfig:显示网络接口的IP地址、MAC地址等信息。ip是新一代网络配置工具,推荐使用。ss -tuln或netstat -tuln:查看系统正在监听的TCP和UDP端口。ss是netstat的现代替代品,执行效率更高。ping [hostname/IP]:测试与目标主机的网络连通性。traceroute [hostname/IP]:追踪数据包到达目标主机所经过的路由路径。firewall-cmd:CentOS 7及以上版本默认防火墙管理工具。firewall-cmd --permanent --add-port=80/tcp可以永久开放80端口,之后需执行firewall-cmd --reload使规则生效。
软件包管理
安装、更新和删除软件是日常维护的一部分,CentOS 8及以后版本使用dnf,而CentOS 7使用yum。
dnf install [package_name]:安装指定的软件包。dnf update:更新系统中所有已安装的软件包至最新版本。dnf remove [package_name]:移除已安装的软件包。dnf search [keyword]:根据关键词搜索可用的软件包。dnf repolist:列出所有已配置的软件仓库。
相关问答FAQs
问题1:如何快速查找并安全地删除系统内占用磁盘空间最大的文件或目录?
解答: 这是一个常见的磁盘空间清理需求,可以分两步进行,使用du(Disk Usage)命令结合sort和head来定位大文件,执行 du -ah / | sort -rh | head -n 20,该命令会从根目录()开始,计算所有文件和目录(-a)的大小并以人类可读格式(-h)显示,然后按大小逆序(-r)排序(-h参数让sort也能识别人类可读的单位),最后列出前20个最大的项目(-n 20),定位到具体文件或目录后,使用rm -rf /path/to/large_file_or_dir命令进行删除。在执行删除操作前,请务必再三确认路径和文件名,避免误删重要数据。
问题2:如何设置一个新安装的服务(例如Nginx)在服务器重启后自动运行?

解答: 在使用systemd的现代CentOS系统中,设置服务开机自启非常简单,确保服务已经安装,使用systemctl命令的enable子命令即可,以Nginx为例,执行 sudo systemctl enable nginx,这个命令会在systemd的配置目录中创建一个符号链接,使得系统在每次启动时都能自动加载并启动Nginx服务,设置完成后,可以用 sudo systemctl is-enabled nginx 命令来验证是否已成功启用,如果输出为enabled,则表示设置成功,若要取消开机自启,使用 sudo systemctl disable nginx 命令。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复