服务器设置和教程 · 16 7 月, 2025

CentOS 與 Ubuntu 系統命令使用對比

CentOS 和 Ubuntu 作為兩種主流的 Linux 發行版,分別基於 Red Hat(RPM 體系)和 Debian(DEB 體系),在系統管理命令上存在顯著差異。本文檔從技術視角詳細對比兩者的常用命令,涵蓋套件管理、服務管理、網路配置、防火牆、使用者管理、檔案系統和日誌管理,旨在幫助管理員和開發者快速上手並在兩種系統間高效切換。

1. 套件管理

套件管理是 CentOS 和 Ubuntu 的核心差異之一,CentOS 使用 yum 或 dnf(CentOS 8 及以上),Ubuntu 使用 apt。

功能CentOS (RPM 體系)Ubuntu (DEB 體系)
更新套件列表sudo yum check-update 或 sudo dnf check-updatesudo apt update
安裝套件sudo yum install <package> 或 sudo dnf install <package>sudo apt install <package>
移除套件sudo yum remove <package> 或 sudo dnf remove <package>sudo apt remove <package>
搜尋套件sudo yum search <keyword> 或 sudo dnf search <keyword>sudo apt search <keyword>
更新所有已安裝套件sudo yum update 或 sudo dnf upgradesudo apt upgrade
清理快取sudo yum clean all 或 sudo dnf clean allsudo apt clean
查看已安裝套件rpm -qa 或 yum list installed 或 dnf list installeddpkg -l 或 apt list --installed

注意:

  • CentOS 8 及以上版本預設使用 dnf,其語法與 yum 類似但效能更優。
  • Ubuntu 的 apt 是對 apt-get 和 apt-cache 的高級封裝,適合互動式使用。

2. 服務管理

CentOS 7 和 Ubuntu 16.04 及以上版本均採用 systemd 作為服務管理框架,因此命令高度一致。

功能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=servicesystemctl list-unit-files --type=service

注意:

  • CentOS 6 及更早版本使用 SysVinit,命令為 service <service> start/stop/restart。
  • Ubuntu 在 14.04 及更早版本部分使用 Upstart,需注意歷史版本相容性。

3. 網路管理

網路管理命令因配置方式不同而異,CentOS 依賴 NetworkManager 或手動配置文件,Ubuntu 則使用 Netplan(18.04 及以上)。

功能CentOSUbuntu
查看 IP 位址ip addr 或 ifconfigip addr 或 ifconfig
重啟網路服務sudo systemctl restart NetworkManagersudo systemctl restart networking 或 sudo netplan apply
查看網路介面狀態nmcli device statusnmcli device status
配置靜態 IP編輯 /etc/sysconfig/network-scripts/ifcfg-<interface>編輯 /etc/netplan/01-netcfg.yaml,然後 sudo netplan apply

注意:

  • Ubuntu 18.04 及以上使用 Netplan,配置文件為 YAML 格式,需注意縮進。
  • CentOS 的網路配置文件路徑可能因版本而異,需檢查具體介面檔案。

4. 防火牆管理

CentOS 預設使用 firewalld,Ubuntu 使用 ufw(簡化的 iptables 前端)。

功能CentOS (Firewalld)Ubuntu (UFW)
啟動防火牆sudo systemctl start firewalldsudo ufw enable
停止防火牆sudo systemctl stop firewalldsudo ufw disable
查看防火牆狀態sudo firewall-cmd --statesudo ufw status
開放端口sudo firewall-cmd --add-port=<port>/tcp --permanentsudo ufw allow <port>
關閉端口sudo firewall-cmd --remove-port=<port>/tcp --permanentsudo ufw delete allow <port>
重新載入防火牆配置sudo firewall-cmd --reloadsudo ufw reload

注意:

  • firewalld 的 --permanent 選項確保規則持久化,需配合 --reload 生效。
  • ufw 簡單易用,適合輕量級配置,但功能較 firewalld 稍弱。

5. 使用者與權限管理

使用者管理命令在兩種系統中基本一致,但使用者刪除命令略有不同。

功能CentOSUbuntu
新增使用者sudo adduser <username>sudo adduser <username>
刪除使用者sudo userdel -r <username>sudo deluser --remove-home <username>
修改使用者密碼sudo passwd <username>sudo passwd <username>
新增使用者至群組sudo usermod -aG <group> <username>sudo usermod -aG <group> <username>

注意:

  • userdel -r 和 deluser --remove-home 都會刪除使用者家目錄,需謹慎操作。
  • 群組管理命令完全相同,-aG 確保追加群組而非覆蓋。

6. 檔案系統管理

檔案系統管理命令一致,但預設檔案系統可能不同(CentOS 傾向 xfs,Ubuntu 傾向 ext4)。

功能CentOSUbuntu
查看磁碟空間df -hdf -h
查看目錄大小du -sh <directory>du -sh <directory>
掛載檔案系統mount /dev/sdX /mntmount /dev/sdX /mnt
卸載檔案系統umount /mntumount /mnt

注意:

  • 掛載操作需確保目標設備和掛載點存在。
  • 建議使用 lsblk 檢查設備狀態。

7. 日誌管理

日誌管理命令基本一致,但日誌檔案路徑不同。

功能CentOSUbuntu
查看系統日誌sudo journalctl 或 tail -f /var/log/messagessudo journalctl 或 tail -f /var/log/syslog
查看登入日誌lastlast

注意:

  • CentOS 的 /var/log/messages 可能因配置而變為 /var/log/secure。
  • Ubuntu 的 /var/log/syslog 是預設系統日誌路徑。

總結

方面CentOSUbuntu
套件管理yum/dnf (RPM)apt (DEB)
服務管理systemctl (CentOS 7+),舊版 servicesystemctl (16.04+),舊版 Upstart
防火牆firewalldufw
網路配置/etc/sysconfig/network-scripts//etc/netplan/ (18.04 及以上)

通過掌握這些差異,管理員和開發者可快速適應 CentOS 和 Ubuntu 的系統管理需求,優化運維效率。