熱門分類
載入中…
目錄0%

Linux 指令速查:排錯時最常敲的那 30 個

    這篇不是指令大全,是排錯現場真的會用到的那一批。全部 30 個,每一行都可以直接複製,分成七組:找檔案、看資源、查行程與 port、追服務與 log、管權限、看網路、做備份。

    一、找檔案與內容(5 個)

    • find . -type f -mtime -1:列出今天改過的檔案,抓「昨天還好好的」問題最快
    • find / -name "*.conf" 2>/dev/null:全機找設定檔,2>/dev/null 是為了吞掉權限不足的錯誤
    • grep -rn "關鍵字" /etc/:從檔案內容反查是哪個設定寫的
    • ls -lt | head:看目錄裡最近被動過的檔案,時間排序
    • stat 檔案路徑:看檔案的三個時間(存取/修改/變更)與權限,比 ls -l 更細

    二、磁碟與資源(5 個)

    • df -h:各分割區使用率,先確認是不是滿了
    • du -sh * | sort -h:目前目錄下誰最肥,由小到大排
    • lsblk:看有哪些磁碟與分割區、掛在哪
    • free -h:記憶體與 swap 使用量
    • top -o %CPU:依 CPU 使用率排序,找吃資源的兇手

    三、行程與 port(5 個)

    • ps aux | grep 服務名:確認行程在不在
    • ss -tlnp:誰在聽哪個 port(含 PID),比 netstat 快
    • lsof -i :80:反查佔用某個 port 的行程
    • kill -9 PID:強制結束(先用 kill PID 溫和終止無效時才用)
    • pkill -f 服務名:依名稱整批結束,適合卡住的批次工作

    四、服務與 log(5 個)

    • systemctl status 服務名:服務狀態、最近幾行 log、啟用狀態一次看完
    • systemctl restart 服務名:重啟,改完設定必做
    • journalctl -u 服務名 -n 50 --no-pager:看該服務最近 50 行,不進 pager 直接輸出
    • journalctl --since "1 hour ago" -p err:只看這一小時的錯誤等級事件
    • tail -f /var/log/syslog:即時追系統 log(Debian/Ubuntu 系)

    五、權限與使用者(5 個)

    • chmod 640 檔案:擁有者可讀寫、群組可讀、其他人什麼都不能做
    • chown user:group 檔案:同時改擁有者與群組
    • id 使用者:看 UID、GID 與附屬群組,判斷權限問題的起點
    • sudo -l:確認自己能用 sudo 執行哪些指令
    • umask -S:看目前預設權限遮罩,新建檔案為什麼是 644 就是它

    六、網路(3 個)

    • ip a:介面與 IP(取代 ifconfig)
    • ip r:路由表,確認預設閘道對不對
    • curl -I https://example.com:只看回應 header,最快確認服務活著

    七、備份(2 個)

    • tar czf backup_$(date +%F_%H%M).tar.gz /path/to/dir:檔名直接帶時間戳,不會撞名
    • find . -name "backup_*.tar.gz" -mtime +7 -delete:只留七天,最陽春但可靠的輪替

    以上 5 + 5 + 5 + 5 + 5 + 3 + 2 = 30 個。這批是我在排錯現場真的會敲的,不是從 man page 抄下來的。

    完整版(權限、套件管理、排程、log 查找的延伸用法)整理在:Linux 指令使用全解析:從基礎到進階的實戰技巧(含時間戳記備份技巧)

    🔗 分享這篇 LINE Facebook X

    沒有留言:

    字級