排障第一步:看日志、查資源、驗網絡、核進程。本文彙總 Linux 系統級日志文件位置、核心檢查命令分類速查,適合打印貼在工位或存入筆記軟件隨時調用。
/var/log/)| 文件 | 內容 | 典型排障場景 |
|---|---|---|
messages / syslog | 系統啟動後核心消息、服務錯誤、硬件故障、OOM、內核告警 | 首選排障入口,tail -f 實時監控 |
secure / auth.log | 認證授權記錄:SSH 登錄、sudo、su、密碼失敗、鑰匙拒絕 | 排查暴力破解、登錄失敗、權限提升 |
maillog / mail.log | 郵件服務收發記錄 | 郵件延遲、退信、隊列堆積 |
cron / cron.log | 定時任務執行記錄 | 腳本未執行、執行失敗、時間異常 |
spooler | UUCP/新聞組設備記錄(現罕用) | — |
boot.log | 啟動過程服務啟停消息 | 服務啟動失敗、依賴順序錯誤 |
dmesg / kern.log | 內核環形緩存:硬件檢測、驅動加載、硬件錯誤 | 硬件故障、驅動問題、掛載失敗 |
yum.log / dnf.log / apt/history.log | 包管理器安裝升級記錄 | 確認變更時間、回滾依據 |
audit/audit.log | Linux 審計系統記錄(需 auditd 服務) | 安全合規、文件訪問追蹤、系統調用審計 |
# 內核/OS/CPU
uname -a
cat /etc/os-release # 統一發行版信息
cat /proc/cpuinfo
lscpu
# 計算機名
hostname
hostnamectl # systemd 系統詳細信息
# 硬件設備
lspci -tv # PCI 設備樹
lsusb -tv # USB 設備樹
lsmod # 已加載內核模塊
dmidecode # SMBIOS 硬件詳細信息(需 root)
# 環境變量
env
printenv
# 內存
free -h
cat /proc/meminfo
grep -E 'MemTotal|MemFree|MemAvailable|SwapTotal|SwapFree' /proc/meminfo
# 磁盤
df -h # 分區使用率
df -i # inode 使用率
du -sh /path/to/dir # 目錄大小
lsblk # 塊設備樹
fdisk -l / parted -l # 分區表詳情
ls /dev/disk/by-uuid/ # UUID 映射
# 系統負載/運行時間
uptime
cat /proc/loadavg # 1/5/15min 負載、運行隊列、進程數
# 掛載狀態
mount | column -t
findmnt # 樹狀顯示
# 分區操作
fdisk /dev/sdX # MBR 分區
gdisk /dev/sdX # GPT 分區
partprobe / kpartx # 通知內核重讀分區表
# 交換分區
swapon -s
swapon /dev/sdX
swapoff /dev/sdX
# 磁盤參數/健康
hdparm -I /dev/sdX # 詳細參數(需 root)
smartctl -a /dev/sdX # SMART 健康檢查
dmesg | grep -i -e scsi -e sata -e nvme # 啟動時設備檢測
# 接口/地址/路由
ip addr show # 現代替代 ifconfig
ip route show
ip link show
# 連接/監聽
ss -tulnp # 現代替代 netstat,顯示 PID/進程名
ss -s # 協議統計摘要
netstat -tulnp # 兼容舊習慣
netstat -s # 協議統計
# 防火牆
iptables -L -n -v --line-numbers
firewall-cmd --list-all
ufw status numbered
# 抓包
tcpdump -i eth0 -nn -s0 -w capture.pcap port 80
wireshark capture.pcap # 圖形分析
ps aux # 所有進程 BSD 風格
ps -ef # 所有進程 System V 風格
top / htop / btop # 實時互動
pstree -p # 進程樹
pgrep -f pattern # 按名稱匹配 PID
pkill -f pattern # 按名稱殺進程
pidstat -u -p PID 1 # 進程/線程 CPU 佔用
pidstat -d -p PID 1 # 進程 I/O 統計
w # 當前登錄用戶及負載
who # 登錄用戶簡略
last # 歷史登錄
lastb # 失敗登錄
id username # UID/GID/組列表
cut -d: -f1 /etc/passwd # 所有用戶名
cut -d: -f1 /etc/group # 所有組名
crontab -l # 當前用戶計劃任務
crontab -e # 編輯
systemctl list-timers # systemd 定時器
systemctl list-units --type=service --state=running
systemctl status service_name
systemctl enable/disable/start/stop/restart service_name
chkconfig --list # SysVinit 兼容
chkconfig --list | grep on # 啟動項
rpm -qa # RPM 所有已裝包
rpm -ql package # 包文件列表
rpm -qf /path/to/file # 文件屬於哪個包
dpkg -l # DEB 所有已裝包
dpkg -L package
dpkg -S /path/to/file
dnf list installed / apt list --installed
使用建議: 建立個人「排障清單」Markdown 文件,按模塊收錄常用命令與典型輸出解讀,遇到新命令即時補充,養成「先查手冊再搜索」的肌肉記憶。