uname -a # 內核版本、架構、主機名、編譯時間
cat /etc/os-release # 發行版標準標識 (ID, VERSION_ID, PRETTY_NAME)
hostnamectl # systemd 統一主機信息 (靜態/瞬態/圖標主機名、機器 ID、虛擬化類型)
lscpu # 核心數、線程數、架構、型號、步進、緩存、NUMA 節點、旗標
cat /proc/cpuinfo # 詳細每核信息 (bogomips、微代碼、缺陷標識)
dmidecode -t processor # SMBIOS 物理 CPU 信息 (需 root)
lspci -tvnn # PCI 設備樹 (廠商/設備 ID、驅動綁定)
lsusb -tv # USB 設備樹
lsmod # 已加載內核模組
dmesg -T | grep -i -e cpu -e memory -e pci -e usb # 啟動時硬件探測日誌
free -h # 總量/已用/可用/緩存/緩衝/交換 (人類可讀)
cat /proc/meminfo # 完整內存統計 (Slab、PageTables、CommitLimit、HugePages)
vmstat 1 5 # 動態內存/交換/IO/CPU 統計 (每秒 1 次,共 5 次)
numastat -m # NUMA 節點內存分布
lsblk -f # 塊設備樹 (NAME, FSTYPE, LABEL, UUID, MOUNTPOINT, SIZE)
df -hT # 掛載點使用率、文件系統類型
df -i # inode 使用率
du -h --max-depth=1 /path # 目錄級佔用排查
findmnt -D # 掛載點詳情 (SOURCE, FSTYPE, OPTIONS)
blkid # 設備 UUID、TYPE、PARTUUID
hdparm -I /dev/sdX # 磁盤詳細參數 (SATA/ATA 命令集、轉速、特性)
smartctl -a /dev/sdX # SMART 健康信息 (需 smartmontools)
ls /sys/block/sdX/queue/ # I/O 調度器、讀寫緩衝、最大扇區等內核參數
ip -br addr # 簡潔接口 IP 列表
ip -br link # 接口狀態 (UP/DOWN, MAC, MTU)
ip route # 路由表
ss -ltnp # 監聽 TCP + 進程
ss -uantp # 所有連接 + 進程
ss -s # 協議統計
netstat -i # 接口統計 (舊工具)
cat /proc/net/dev # 原始接口計數器
ethtool eth0 # 物理鏈路狀態、速率、驅動信息
iptables -nvL --line-numbers # 防火牆規則計數
nft list ruleset # nftables 完整規則集
uptime # 運行時間、用戶數、1/5/15 分負載
cat /proc/loadavg # 原始負載值 + 運行隊列/總進程數 + 最近 PID
ps aux --sort=-%cpu | head # CPU 佔用 TOP 10
ps aux --sort=-%mem | head # 內存佔用 TOP 10
top -b -n 1 | head -20 # 批量模式快照
htop # 交互式 (需安裝)
pidstat 1 3 # 進程級 CPU/內存/IO 統計 (sysstat 包)
systemd-cgtop # cgroup v2 資源佔用視圖
w # 當前登錄用戶、來源、空閒、JCPU、PCPU、命令
who # 登錄會話
last -n 20 # 最近登錄歷史 (含重啟、關機)
lastb -n 20 # 失敗登錄嘗試 (需 /var/log/btmp)
cut -d: -f1 /etc/passwd # 所有用戶列表
cut -d: -f1 /etc/group # 所有組列表
id username # 用戶 UID/GID/組成員
chage -l username # 密碼過期/鎖定信息
systemctl list-units --type=service --state=running # 運行中服務
systemctl list-unit-files --state=enabled # 開機自啟服務
systemctl status # 服務詳細狀態
crontab -l # 當前用戶計劃任務
ls /etc/cron.* /etc/cron.d/ # 系統級定時任務
systemctl list-timers --all # systemd timer 列表
rpm -qa | sort # RPM 系統所有包
dpkg -l | grep ^ii # Debian 系統已安裝包
apt list --installed # APT 已安裝
dnf list installed # DNF 已安裝
pacman -Q # Arch 已安裝
zypper se -i # Zypper 已安裝
#!/bin/bash
# daily_inspect.sh - 輸出至 /var/log/daily_inspect_$(date +%F).log
{
echo "=== $(date) ==="
echo "--- Load & Uptime ---"; uptime
echo "--- Memory ---"; free -h
echo "--- Disk / ---"; df -h /
echo "--- Disk /var ---"; df -h /var
echo "--- Top CPU ---"; ps aux --sort=-%cpu | head -5
echo "--- Top MEM ---"; ps aux --sort=-%mem | head -5
echo "--- Listening Ports ---"; ss -ltnp
echo "--- Failed Logins (24h) ---"; lastb -s -24h
echo "--- Systemd Failed Units ---"; systemctl --failed
echo "--- Kernel Errors (24h) ---"; journalctl -p err -b -1 --no-pager | tail -20
} | tee -a /var/log/daily_inspect_$(date +%F).log
掌握 uname/lscpu/free/lsblk/df/ip/ss/ps/systemctl/journalctl 核心十件套,配合 /proc//sys 直接讀取內核數據,即可完成 99% 日常巡檢與故障定位。將上述命令封裝為 Ansible 模組、Prometheus Exporter 或 Shell 庫,構建自動化可觀測體系。