如何在CentOS系统中进行基本操作?

2025-06-04 22:10:14 110
魁首哥

CentOS 核心用法解析:提升效率的关键操作

CentOS,作为一款稳定、可靠的企业级Linux发行版,至今仍在众多服务器、开发环境及运维工作中扮演着重要角色,深入理解其核心用法,是高效管理和维护系统的基石,以下聚焦几个关键领域:

软件管理:dnf/yum 的强大掌控

  • 基础操作:

    • 安装软件:sudo dnf install package_name (CentOS 8+) 或 sudo yum install package_name (CentOS 7)。
    • 移除软件:sudo dnf remove package_name / sudo yum remove package_name
    • 更新软件:sudo dnf update package_name / sudo yum update package_name (更新单个包),sudo dnf update / sudo yum update (更新所有可更新包及系统本身)。
    • 搜索软件:dnf search keyword / yum search keyword
    • 查询信息:dnf info package_name / yum info package_name
  • 维护系统健康:

    • 安全更新优先: 定期执行 sudo dnf update --securitysudo yum update --security 专门安装安全更新,是加固系统的首要任务。
    • 清理缓存: sudo dnf clean all / sudo yum clean all 释放下载的软件包缓存占用的磁盘空间。
    • 仓库管理: 理解 /etc/yum.repos.d/ 目录下的 .repo 文件,谨慎添加第三方仓库,优先信任官方或知名社区源(如 EPEL),使用 dnf repolist / yum repolist 查看启用仓库。

系统服务管理:systemctl 的核心作用

Systemd 是现代 CentOS 系统的服务管理核心,systemctl 命令不可或缺:

  • 启停服务:

    • sudo systemctl start service_name (启动)
    • sudo systemctl stop service_name (停止)
    • sudo systemctl restart service_name (重启 - 常用于应用配置变更后)
    • sudo systemctl reload service_name (重载配置 - 适用于支持动态加载的服务如 Nginx)
  • 管理服务状态:

    • sudo systemctl enable service_name (设置开机自启)
    • sudo systemctl disable service_name (禁用开机自启)
    • sudo systemctl status service_name (查看服务详细状态 - 这是最常用的诊断命令之一)
  • 查看日志: journalctl 是 systemd 的日志工具,结合服务名使用更高效:

    • journalctl -u service_name (查看特定服务的日志)
    • journalctl -xe (查看最近的详细日志,常用于排查刚发生的问题)

防火墙安全:firewalld 的灵活配置

firewalld 提供动态管理的防火墙解决方案,比传统的 iptables 更易用:

  • 核心概念: 理解 区域 (zone,如 public, trusted) 和 服务 (service,预定义端口集合如 http, ssh) 的概念。
  • 常用操作:
    • sudo firewall-cmd --state (查看防火墙状态)
    • sudo firewall-cmd --get-active-zones (查看活动区域)
    • sudo firewall-cmd --zone=public --add-service=http --permanent (在 public 区域永久开放 HTTP 服务 - --permanent 使变更持久化)
    • sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent (永久开放 TCP 8080 端口)
    • sudo firewall-cmd --reload (重载防火墙配置,使永久规则生效,不会中断现有连接)
    • sudo firewall-cmd --list-all --zone=public (列出 public 区域所有规则)

深入安全:SELinux 的合理运用

SELinux (Security-Enhanced Linux) 提供强大的强制访问控制 (MAC) 机制,是 CentOS 高安全性的重要保障:

  • 运行模式:

    • getenforce (查看当前模式:Enforcing, Permissive, Disabled)
    • sudo setenforce 1 (临时设为 Enforcing)
    • sudo setenforce 0 (临时设为 Permissive - 用于测试问题是否由 SELinux 引起)
    • 永久修改需编辑 /etc/selinux/config 文件中的 SELINUX= 行。
  • 解决常见问题:

    • 当服务因权限问题无法访问资源时,首先检查 /var/log/audit/audit.log 或使用 sudo ausearch -m avc -ts recent 查找 AVC (Access Vector Cache) 拒绝消息。
    • 使用 sudo semanage 工具调整策略(如修改端口上下文、文件上下文)。
    • 生成自定义策略模块:sudo audit2allow -a (分析 audit 日志) sudo audit2allow -a -M mymodule 生成模块,sudo semodule -i mymodule.pp 安装。修改文件上下文通常是更安全的首选sudo chcon -t httpd_sys_content_t /path/to/file

性能洞察:系统监控基础命令

快速了解系统状态是运维的基本功:

  • 实时概览:
    • top / htop (增强版):动态显示进程资源占用 (CPU, 内存),排序、筛选功能强大。
  • 内存使用:
    • free -h (以人类易读格式显示内存和 Swap 使用情况)。
  • 磁盘空间:
    • df -h (查看文件系统磁盘空间使用)。
    • du -sh /path/to/directory (估算目录占用的磁盘空间)。
  • 进程定位:
    • ps aux | grep process_name (查找特定进程)。
  • 网络连接:
    • ss -tulnp (替代 netstat,查看监听端口及对应进程,更快速高效)。
  • 系统负载:
    • uptime (查看系统运行时间、用户数及 1/5/15 分钟平均负载)。
    • vmstat 2 5 (每 2 秒采样一次,共 5 次,报告进程、内存、分页、块 IO、中断、CPU 活动)。

用户与权限:管理的基石

  • 用户管理:
    • sudo useradd username (添加用户)。
    • sudo passwd username (为用户设置密码)。
    • sudo usermod -aG groupname username (将用户添加到附加组)。
  • 组管理:
    • sudo groupadd groupname (创建组)。
  • 文件权限:
    • chmod:修改文件权限 (如 chmod 755 file, chmod u+x script.sh)。
    • chown:修改文件所有者和组 (如 chown user:group file)。
  • 特权提升:
    • sudo command:以 root 权限执行单条命令 (需用户有 sudo 权限)。
    • su -sudo -i:切换到 root 用户环境 (谨慎使用)。

文件处理与文本操作:效率工具

  • 高效查看:
    • cat:连接并显示文件内容。
    • less / more:分页查看大文件 (less 功能更强)。
    • head / tail:查看文件开头/结尾部分 (tail -f file 实时追踪日志更新)。
  • 搜索过滤:
    • grep 'pattern' file:在文件中搜索匹配文本行。
  • 流处理:
    • (管道):将前一个命令的输出作为后一个命令的输入。
    • >:重定向输出到文件 (覆盖)。
    • >>:重定向输出到文件 (追加)。

CentOS 的魅力在于其强大的稳定性和丰富的工具链,熟练掌握这些核心用法,绝非死记硬背命令,而是理解其设计理念和应用场景,面对具体需求时,官方文档 (man 命令) 和社区资源始终是最可靠的帮手,将这些方法融入日常运维,能显著提升工作效率和系统可靠性。

观点: CentOS 的价值在于其坚实的底层和广泛的企业级验证,深入理解其核心机制并熟练运用基础工具,远比追求最新版本或花哨功能更能构建稳定高效的系统环境。

分享
海报
110
上一篇:如何作一条线段的中垂线?下一篇:如何在CentOS 7.4上安装Zabbix?

忘记密码?

图形验证码