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 -qa 或 yum list installed |
dpkg -l 或 apt 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 addr 或 ifconfig |
ip addr 或 ifconfig |
重启网络服务 | 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 journalctl 或 tail -f /var/log/messages |
sudo journalctl 或 tail -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 之间轻松切换。