5154

Good Luck To You!

CentOS和Ubuntu命令大全,新手如何快速入门与速查?

在Linux服务器的世界里,CentOS和Ubuntu无疑是两颗最璀璨的明星,它们各自拥有庞大的用户群体和独特的生态系统,但核心的差异常常让需要在两者之间切换的开发者和系统管理员感到困惑,本文旨在通过一份详尽的命令对比,清晰地梳理CentOS(及其下游替代品如AlmaLinux、Rocky Linux)与Ubuntu在系统管理上的异同,帮助用户快速掌握在不同环境下的操作技巧。

CentOS和Ubuntu命令大全,新手如何快速入门与速查?

这两个发行版最根本的区别源于其“血统”,CentOS基于Red Hat Enterprise Linux (RHEL),追求极致的稳定性和企业级标准;而Ubuntu则基于Debian,以易用性、庞大的软件库和活跃的社区支持而著称,这些理念上的不同,最终体现在了它们各自的管理工具和命令上。

核心差异:软件包管理

软件包管理是Linux系统日常维护的核心,也是CentOS与Ubuntu之间最显著的区别所在,理解并熟练使用各自的包管理器,是跨平台操作的第一步。

  • CentOS (RHEL家族):使用 RPM(Red Hat Package Manager)作为软件包格式,并采用 YUM(Yellowdog Updater Modified)或其现代继任者 DNF(Dandified YUM)作为前端工具来解决依赖关系和管理软件仓库,软件仓库配置文件通常位于 /etc/yum.repos.d/ 目录。

  • Ubuntu (Debian家族):使用 DEB(Debian)作为软件包格式,其核心管理工具是 APT(Advanced Package Tool),APT是一个强大的工具集,包含了aptapt-getapt-cache等多个命令,软件源配置文件主要在 /etc/apt/sources.list/etc/apt/sources.list.d/ 目录。

为了更直观地展示,下表列出了两者在常见软件包管理任务上的命令对照:

功能 CentOS (YUM/DNF) Ubuntu (APT)
安装软件包 sudo yum install <package_name>sudo dnf install <package_name> sudo apt install <package_name>
删除软件包 sudo yum remove <package_name>sudo dnf remove <package_name> sudo apt remove <package_name>
更新软件包列表 sudo yum makecachesudo dnf makecache sudo apt update
升级所有已安装包 sudo yum updatesudo dnf upgrade sudo apt upgrade
搜索软件包 sudo yum search <keyword>sudo dnf search <keyword> sudo apt search <keyword>
显示软件包信息 sudo yum info <package_name>sudo dnf info <package_name> sudo apt show <package_name>
列出已安装的包 sudo yum list installedsudo dnf list installed sudo apt list --installed
添加软件仓库 .repo文件放入/etc/yum.repos.d/ .list文件放入/etc/apt/sources.list.d/

系统服务管理

在现代Linux发行版中,无论是CentOS还是Ubuntu,都已普遍采用 systemd 作为其初始化系统和服务管理器,这是一个令人欣慰的统一,意味着管理服务的命令在两者之间几乎完全相同,核心命令是 systemctl

以下是一些常用的 systemctl 命令,它们在CentOS和Ubuntu上通用:

CentOS和Ubuntu命令大全,新手如何快速入门与速查?

  • 启动服务sudo systemctl start <service_name>.service
  • 停止服务sudo systemctl stop <service_name>.service
  • 重启服务sudo systemctl restart <service_name>.service
  • 重新加载配置sudo systemctl reload <service_name>.service
  • 查看服务状态sudo systemctl status <service_name>.service
  • 设置开机自启sudo systemctl enable <service_name>.service
  • 禁止开机自启sudo systemctl disable <service_name>.service

网络配置

网络配置是另一个存在显著差异的领域,尤其是在持久化配置方面。

  • CentOS:传统上通过位于 /etc/sysconfig/network-scripts/ 目录下的 ifcfg-<interface_name> 文件进行配置,在现代版本中,NetworkManager 成为了主流,其命令行工具 nmcli 和文本界面工具 nmtui 提供了更动态和强大的管理方式。

    • 使用 nmcli 查看连接:nmcli connection show
    • 使用 nmcli 修改IP地址:sudo nmcli connection modify <conn_name> ipv4.addresses 192.168.1.100/24
  • Ubuntu:在服务器版(18.04及以后)中,默认使用 Netplan,这是一个通过YAML文件来描述网络配置的工具,其配置文件位于 /etc/netplan/ 目录,桌面版则通常依赖NetworkManager的图形界面。

    • 一个典型的Netplan配置示例 (/etc/netplan/01-netcfg.yaml):
      network:
        version: 2
        renderer: networkd
        ethernets:
          enp0s3:
            dhcp4: no
            addresses: [192.168.1.101/24]
            gateway4: 192.168.1.1
            nameservers:
              addresses: [8.8.8.8, 8.8.4.4]
    • 应用配置:sudo netplan apply
功能 CentOS Ubuntu (Server)
查看IP地址 ip addr show (通用) ip addr show (通用)
临时配置IP ip addr add <ip>/<mask> dev <interface> (通用) ip addr add <ip>/<mask> dev <interface> (通用)
永久配置工具 nmcli, nmtui, 或编辑ifcfg-*文件 netplan (编辑YAML文件)
配置文件位置 /etc/sysconfig/network-scripts//etc/NetworkManager/ /etc/netplan/

防火墙管理

防火墙是保障系统安全的第一道防线,两者同样采用了不同的默认防火墙管理工具。

  • CentOS:默认使用 firewalld,它是一个动态防火墙管理器,支持网络“区域”的概念,如publictrusteddmz等,可以根据不同网络环境应用不同的规则集,管理命令是 firewall-cmd

  • Ubuntu:默认使用 UFW(Uncomplicated Firewall),如其名,它旨在简化iptables的配置过程,非常适合新手和快速部署。

下表展示了两者在防火墙管理上的命令对比:

CentOS和Ubuntu命令大全,新手如何快速入门与速查?

功能 CentOS Ubuntu
启用防火墙 sudo systemctl start firewalld sudo ufw enable
禁用防火墙 sudo systemctl stop firewalld sudo ufw disable
查看状态 sudo firewall-cmd --state sudo ufw status verbose
允许服务/端口 sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo ufw allow http
sudo ufw allow 8080/tcp
拒绝服务/端口 sudo firewall-cmd --permanent --remove-service=http sudo ufw deny http
重载规则 sudo firewall-cmd --reload (UFW规则更改后即时生效)
查看所有规则 sudo firewall-cmd --list-all sudo ufw status numbered

通用系统命令

值得庆幸的是,Linux世界中存在大量通用的工具和命令,它们在CentOS和Ubuntu上完全一致,构成了Linux操作的基础,这包括:

  • 文件与目录操作ls, cd, pwd, cp, mv, rm, mkdir, touch, find, locate
  • 文本处理cat, less, more, head, tail, grep, sed, awk
  • 系统信息uname, df, du, free, top, htop, ps
  • 用户与权限useradd, usermod, passwd, chmod, chown, sudo
  • 压缩与解压tar, gzip, zip, unzip

掌握这些通用命令,意味着你已经拥有了在几乎所有Linux发行版上进行基本操作的能力。


相关问答FAQs

问题1:作为初学者,我应该选择CentOS还是Ubuntu作为我的学习环境?

解答:这取决于你的学习目标,如果你的目标是快速入门、开发桌面应用或为开源社区做贡献,Ubuntu通常是更好的选择,它拥有更友好的安装过程、更庞大的社区支持、海量的在线教程和更广泛的软件兼容性,尤其是在桌面环境和新兴技术支持上,如果你的职业规划是成为一名企业级系统管理员,或者你希望学习在金融、电信等对稳定性要求极高的行业中使用的技能,那么从CentOS(或其兼容替代品如AlmaLinux/Rocky Linux)开始会更有价值,它能让你熟悉RPM包管理、firewalld以及企业环境中的标准操作流程。

问题2:我可以在CentOS系统上安装和使用APT,或者在Ubuntu上使用YUM吗?

解答强烈不建议这样做,虽然理论上存在一些实验性的项目(如为YUM提供APT后端,或在Debian上使用alien工具转换RPM包),但这样做会带来巨大的风险,原因在于:

  1. 包格式不兼容:RPM和DEB包的内部结构、安装脚本和元数据完全不同。
  2. 依赖地狱:两个系统的依赖解析机制和库文件命名、位置约定差异巨大,强行安装一个为另一系统构建的包,几乎必然会导致依赖关系冲突,破坏系统核心库,最终使整个系统崩溃或无法正常工作。
  3. 文件系统布局:虽然都遵循FHS(文件系统层次化标准),但在具体路径和配置文件上仍有细微差别,混合使用包管理器会污染文件系统,导致无法预测的行为。 正确的做法是始终使用该发行版原生的、推荐的包管理工具来管理软件。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.