Debian/Ubuntu Linux 常用命令使用指南
本文整理 Debian/Ubuntu 系統管理中最常用的命令,涵蓋套件管理、系統資訊、網路配置、服務管理等核心場景。
一、套件管理(APT)
Debian 和 Ubuntu 使用 apt 作為主要的套件管理工具,用於安裝、更新和刪除軟體。
1. 更新套件清單
sudo apt update
此命令會從伺服器获取最新的套件清單,建議在安裝任何套件前先執行。
2. 升級已安裝的套件
sudo apt upgrade
升級所有已安裝套件到最新版本。如需同時升級核心套件,可使用:
sudo apt full-upgrade
3. 安裝套件
sudo apt install <套件名稱>
示例:
sudo apt install nginx curl wget git
4. 搜尋套件
apt search <關鍵字>
示例:
apt search python3
5. 查看套件詳細資訊
apt show <套件名稱>
6. 移除套件
sudo apt remove <套件名稱> # 移除套件,保留配置檔
sudo apt purge <套件名稱> # 完全移除(含配置檔)
7. 清理無用依賴
sudo apt autoremove # 移除不再需要的依賴套件
sudo apt autoclean # 清理已下載的舊版套件快取
二、dpkg 命令
dpkg 是底層的 Debian 套件管理器,用於處理 .deb 檔案。
1. 安裝本地 .deb 檔案
sudo dpkg -i package.deb
2. 修復安裝中斷的問題
sudo apt --fix-broken install
3. 查看已安裝的套件
dpkg -l | grep <關鍵字>
三、系統資訊
1. 查看系統版本
cat /etc/os-release
輸出示例:
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION="12 (bookworm)"
2. 查看核心版本
uname -r
3. 查看系統架構
uname -m
4. 查看硬碟空間
df -h
5. 查看記憶體使用情況
free -h
6. 查看 CPU 資訊
lscpu
四、服務管理(systemctl)
Debian/Ubuntu 使用 systemd 管理系統服務。
1. 啟動/停止/重啟服務
sudo systemctl start nginx # 啟動服務
sudo systemctl stop nginx # 停止服務
sudo systemctl restart nginx # 重啟服務
2. 設定開機自動啟動
sudo systemctl enable nginx # 啟用開機啟動
sudo systemctl disable nginx # 取消開機啟動
3. 查看服務狀態
sudo systemctl status nginx
4. 查看所有運行中的服務
systemctl list-units --type=service --state=running
五、網路管理
1. 查看 IP 地址
ip addr show
# 或
ip a
2. 查看網路連線狀態
ping -c 4 google.com
3. 查看監聽中的埠
sudo ss -tlnp
4. 查看 DNS 配置
cat /etc/resolv.conf
5. 測試埠連線
curl -v https://example.com:443
六、檔案與目錄操作
1. 切換目錄
cd /etc/nginx # 進入指定目錄
cd ~ # 回到家目錄
cd - # 回到上一個目錄
2. 列出檔案
ls -la # 顯示所有檔案(含隱藏檔)和詳細資訊
ls -lh # 以人類可讀格式顯示檔案大小
3. 建立/刪除目錄
mkdir /var/www/site # 建立目錄
mkdir -p /a/b/c # 遞迴建立多層目錄
rm -rf /path/to/dir # 遞迴強制刪除目錄
4. 複製/移動/刪除檔案
cp file.txt /backup/ # 複製檔案
cp -r /dir1 /dir2 # 遞迴複製目錄
mv old.txt new.txt # 移動/重新命名檔案
rm file.txt # 刪除檔案
5. 查看檔案內容
cat /etc/hostname # 顯示整個檔案內容
tail -f /var/log/syslog # 即時追蹤日誌檔
less /var/log/nginx/access.log # 分頁瀏覽大檔案
七、使用者與權限管理
1. 建立/刪除使用者
sudo adduser username # 建立新使用者
sudo deluser username # 刪除使用者(保留家目錄)
sudo deluser --remove-home username # 刪除使用者並移除家目錄
2. 切換使用者
su - username # 切換到指定使用者
sudo -i # 切換到 root 使用者
3. 設定 sudo 權限
sudo usermod -aG sudo username # 將使用者加入 sudo 群組
4. 修改檔案權限
chmod 755 /var/www/site # 設定目錄權限
chmod 644 /var/www/index.html # 設定檔案權限
chown -R www-data:www-data /var/www/site # 修改檔案擁有者
八、日誌查看
1. 查看系統日誌
sudo journalctl -xe # 查看完整系統日誌
sudo journalctl -u nginx # 查看特定服務的日誌
sudo journalctl -f # 即時追蹤日誌
2. 查看傳統日誌檔
cat /var/log/syslog # 系統日誌
cat /var/log/auth.log # 登入驗證日誌
cat /var/log/nginx/error.log # Nginx 錯誤日誌
九、程序管理
1. 查看運行中的程序
top # 即時監控程序
htop # 進階版 top(需安裝 htop)
ps aux # 列出所有程序
2. 終止程序
kill <PID> # 正常終止
kill -9 <PID> # 強制終止
killall nginx # 按程序名稱終止
pkill -f "python3" # 按關鍵字終止
十、實用快捷命令
| 命令 | 說明 |
|---|---|
!! |
執行上一條命令 |
Ctrl + C |
終止當前命令 |
Ctrl + Z |
暫停當前命令 |
Ctrl + L |
清空終端畫面 |
Tab |
自動補全 |
history |
查看命令歷史 |
man <命令> |
查看命令手冊 |
<命令> --help |
查看命令幫助 |
十一、常見問題排查
1. apt 安裝失敗
sudo apt --fix-broken install
sudo dpkg --configure -a
2. 磁碟空間滿
du -sh /* | sort -h | tail -5 # 查看最大的目錄
sudo apt clean # 清理套件快取
sudo journalctl --vacuum-size=50M # 清理日誌
3. 網路不通
ip route show # 查看路由表
ip link set eth0 up # 啟用網卡
sudo systemctl restart networking # 重啟網路服務
總結
| 場景 | 常用命令 |
|---|---|
| 套件管理 | apt update, apt install, apt remove |
| 系統資訊 | uname -r, df -h, free -h |
| 服務管理 | systemctl start/stop/restart/status |
| 網路 | ip a, ss -tlnp, ping |
| 檔案操作 | cd, ls, cp, mv, rm |
| 日誌 | journalctl, tail -f |
| 程序 | top, ps aux, kill |
熟練掌握這些命令,能夠大幅提升 Debian/Ubuntu 系統的運維效率。