CentOS 和 Ubuntu 虽然都是基于 Linux 的操作系统,但由于它们属于不同的发行版(CentOS 基于 Red Hat,Ubuntu 基于 Debian),因此在包管理、服务管理等方面有一些常用命令是不同的。以下是它们的主要区别:


1. 包管理命令

包管理是 CentOS 和 Ubuntu 最明显的区别之一。

功能 CentOS (基于 RPM) Ubuntu (基于 DEB)
更新包列表 sudo yum check-update sudo apt update
安装软件包 sudo yum install <package> sudo apt install <package>
卸载软件包 sudo yum remove <package> sudo apt remove <package>
搜索软件包 sudo yum search <keyword> sudo apt search <keyword>
更新所有已安装的软件包 sudo yum update sudo apt upgrade
清理缓存 sudo yum clean all sudo apt clean
查看已安装的软件包 rpm -qayum list installed dpkg -lapt list --installed

2. 服务管理命令

CentOS 和 Ubuntu 在服务管理上也有区别。

功能 CentOS (Systemd) Ubuntu (Systemd)
启动服务 sudo systemctl start <service> sudo systemctl start <service>
停止服务 sudo systemctl stop <service> sudo systemctl stop <service>
重启服务 sudo systemctl restart <service> sudo systemctl restart <service>
查看服务状态 sudo systemctl status <service> sudo systemctl status <service>
启用开机自启动 sudo systemctl enable <service> sudo systemctl enable <service>
禁用开机自启动 sudo systemctl disable <service> sudo systemctl disable <service>
列出所有服务 systemctl list-unit-files --type=service systemctl list-unit-files --type=service

注意:CentOS 7 和 Ubuntu 16.04 及以上版本都使用 systemd,因此服务管理命令是相同的。如果是 CentOS 6 或更早版本,则使用 service 命令(如 service <service> start)。


3. 网络管理命令

网络配置和管理也有一些差异。

功能 CentOS Ubuntu
查看 IP 地址 ip addrifconfig ip addrifconfig
重启网络服务 sudo systemctl restart network sudo systemctl restart networking
查看网络接口状态 nmcli device status nmcli device status
配置静态 IP 编辑 /etc/sysconfig/network-scripts/ifcfg-<interface> 编辑 /etc/netplan/01-netcfg.yaml

4. 防火墙管理命令

CentOS 和 Ubuntu 的防火墙管理工具不同。

功能 CentOS (Firewalld) Ubuntu (UFW)
启动防火墙 sudo systemctl start firewalld sudo ufw enable
停止防火墙 sudo systemctl stop firewalld sudo ufw disable
查看防火墙状态 sudo firewall-cmd --state sudo ufw status
开放端口 sudo firewall-cmd --add-port=<port>/tcp --permanent sudo ufw allow <port>
关闭端口 sudo firewall-cmd --remove-port=<port>/tcp --permanent sudo ufw delete allow <port>
重新加载防火墙配置 sudo firewall-cmd --reload sudo ufw reload

5. 用户和权限管理

用户和权限管理命令基本相同,但有一些细微差别。

功能 CentOS Ubuntu
添加用户 sudo adduser <username> sudo adduser <username>
删除用户 sudo userdel <username> sudo deluser <username>
修改用户密码 sudo passwd <username> sudo passwd <username>
添加用户到组 sudo usermod -aG <group> <username> sudo usermod -aG <group> <username>

6. 文件系统管理

文件系统管理命令基本相同,但默认文件系统可能不同。

功能 CentOS Ubuntu
查看磁盘空间 df -h df -h
查看目录大小 du -sh <directory> du -sh <directory>
挂载文件系统 mount /dev/sdX /mnt mount /dev/sdX /mnt
卸载文件系统 umount /mnt umount /mnt

7. 日志管理

日志管理命令基本相同,但日志文件路径可能不同。

功能 CentOS Ubuntu
查看系统日志 sudo journalctltail -f /var/log/messages sudo journalctltail -f /var/log/syslog
查看登录日志 last last

总结

  • 包管理:CentOS 使用 yum,Ubuntu 使用 apt
  • 服务管理:CentOS 和 Ubuntu 都使用 systemctl,但旧版 CentOS 使用 service
  • 防火墙:CentOS 使用 firewalld,Ubuntu 使用 ufw
  • 网络配置:CentOS 使用 /etc/sysconfig/network-scripts/,Ubuntu 使用 /etc/netplan/

掌握这些差异后,你可以在 CentOS 和 Ubuntu 之间轻松切换。