Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 核心指令速查手冊 (二):df、top、free、quota、at、lp、useradd、groupadd、kill、crontab 系統管理指令完整參數詳解

編輯:Linux 教學

df — 磁碟空間使用率

常用參數

參數功能
-h人類可讀單位 (KB/MB/GB)
-T顯示檔案系統類型 (ext4/xfs/ntfs...)
-i顯示 inode 使用率 (關鍵:inode 滿會無法建檔)
-l僅顯示本地檔案系統 (排除 NFS 等網路掛載)
-PPOSIX 輸出格式 (腳本解析友善)
-x fstype排除指定類型

實戰範例

# 完整概覽
df -hT
# 檢查 inode 危機
df -hi | awk '$5 > 90 {print}'
# 根分區剩餘空間 (腳本用)
df -P / | awk 'NR==2 {print $4}'

top — 即時程序監控

啟動參數

top -d 2          # 更新間隔 2 秒
top -u alice      # 只顯示 alice 的程序
top -p 1234,5678  # 監控特定 PID
top -b -n 1       # 批次模式輸出一次 (適合腳本/日誌)

互動熱鍵 (運行中按鍵)

鍵功能
P依 CPU 使用率排序 (預設)
M依記憶體使用率排序
T依累積 CPU 時間排序
N依 PID 排序
c切換顯示完整命令行
k殺死程序 (輸入 PID、信號)
r重設優先序 (renice)
u篩選特定用戶
W寫入 ~/.toprc 保存配置
1切換顯示各 CPU 核心使用率
q離開

輸出欄位解讀

  • PR:優先序 (Priority)
  • NI:Nice 值 (-20~19,越小優先序越高)
  • VIRT:虛擬記憶體總量 (含共享庫、映射檔案、未實際分配)
  • RES:常駐記憶體 (實際佔用物理 RAM)
  • SHR:共享記憶體
  • S:狀態 (R=運行、S=睡眠、D=不可中斷睡眠、Z=殭屍、T=停止)

free — 記憶體使用狀態

參數

free -h           # 人類可讀 (推薦)
free -m           # MB 單位
free -g           # GB 單位
free -s 5         # 每 5 秒更新 (監控模式)
free -t           # 顯示總計行

欄位含義 (以 -m 為例)

              total  used  free  shared buff/cache available
Mem:          15900  8200  1200   500    6500      7200
Swap:         8191   100   8091
  • available:真正可供新程序使用的記憶體 (含可回收快取)
  • buff/cache:核心緩衝區 + 頁面快取,壓力大時自動釋放

quota — 磁碟配額管理

前置:檔案系統啟用 quota

# /etc/fstab 加入 usrquota,grpquota
/dev/sda3 /home ext4 defaults,usrquota,grpquota 0 2
mount -o remount /home
quotacheck -cug /home
quotaon -avug

查看與設定

quota -u alice          # 查看用戶配額
quota -g developers     # 查看群組配額
edquota -u alice        # 互動式編輯 (軟/硬限制、inode)
setquota -u alice 100M 200M 1000 2000 /home  # 指令式設定

at — 單次排程任務

時間格式

at 14:30              # 今日 14:30
at 14:30 tomorrow     # 明天 14:30
at 14:30 + 2 days     # 兩天後 14:30
at 14:30 12/25/2024   # 指定日期
at now + 5 minutes    # 5 分鐘後

操作流程

at 14:30
at> /usr/local/bin/backup.sh
at> Ctrl+D (EOT)
job 3 at Tue Dec 10 14:30:00 2024

atq                   # 列出待執行任務
atrm 3                # 刪除任務 3
at -c 3               # 查看任務內容

lp / lpr — 列印服務

lp -d printer_name file.txt        # 指定印表機
lp -n 3 file.txt                   # 列印 3 份
lp -t "Monthly Report" file.pdf    # 設定標題
lp -o sides=two-sided-long-edge    # 雙面列印
lpstat -p                          # 列印機狀態
cancel job_id                      # 取消列印任務

useradd / groupadd — 帳號與群組建立

useradd 關鍵參數

參數功能範例
-u UID指定 UIDuseradd -u 2000 alice
-g GID指定主群組useradd -g users alice
-G group1,group2附加群組useradd -G wheel,docker alice
-d /home/alice指定家目錄
-m自動建立家目錄 (複製 /etc/skel)
-s /bin/bash指定 Shell
-c "Alice Chen"備註 (GECOS)
-r建立系統帳號 (UID < 1000、無家目錄)useradd -r -s /sbin/nologin nginx
-e YYYY-MM-DD帳號過期日
-f INACTIVE密碼過期後停權天數

groupadd 關鍵參數

groupadd -g 2000 developers     # 指定 GID
groupadd -r sysadmins           # 系統群組 (GID < 1000)

kill — 發送信號給程序

kill -l                    # 列出所有信號
kill -TERM 1234            # 標準終止 (預設)
kill -KILL 1234            # 強制殺死 (SIGKILL=9,不可捕捉)
kill -HUP 1234             # 重讀配置 (常用於 daemon)
killall httpd              # 按名稱殺死所有同名程序
pkill -u alice             # 殺死用戶所有程序

crontab — 週期性排程

時間格式 (五欄位)

* * * * *  command
分 時 日 月 週

特殊符號

符號含義
*任意值
*/n每 n 單位
a-b範圍
a,b,c列舉

常用範例

0 2 * * * /backup/daily.sh                    # 每天 02:00
*/10 * * * * /monitor/check.sh                # 每 10 分鐘
0 0 1 * * /backup/monthly.sh                  # 每月 1 號
0 3 * * 0 /backup/weekly.sh                   # 每週日
@reboot /usr/local/bin/startup.sh             # 開機執行
@hourly /scripts/hourly.sh                    # 每小時

操作指令

crontab -e          # 編輯當前用戶 crontab
crontab -l          # 列出
crontab -r          # 刪除 (慎用)
crontab -u alice -e # root 編輯指定用戶
Copyright © Windows教程網 All Rights Reserved