Linux 指令數以百計,但初學者只需掌握核心高頻指令即能應對 80% 日常操作。本文將 30+ 必學指令按系統功能分為六大類:安裝登錄、檔案處理、系統管理、網路操作、系統安全、壓縮備份,並提供分類速查表與關鍵指令深度解析,助你建立扎實的指令知識體系。

| 分類 | 核心指令 | 主要用途 |
|---|---|---|
| 安裝與登錄 | login, shutdown, halt, reboot | 系統登入、關機、重啟流程控制 |
| install, mount, umount, chsh, exit, last | 軟體安裝、檔案系統掛載、使用者環境、登入紀錄 | |
| 檔案處理 | file, mkdir, grep, dd, find, mv | 檔案類型判斷、建立目錄、文字搜尋、底層複製、檔案尋找、移動/重命名 |
| ls, diff, cat, ln | 目錄列表、檔案比較、內容顯示/合併、連結建立 | |
| 系統管理 | df, top, free, quota, at | 磁碟空間、即時程序監控、記憶體使用、磁碟配額、排程任務 |
| lp, adduser, groupadd, kill, crontab | 列印管理、帳號/群組管理、程序終止、週期性排程 | |
| 網路操作 | ifconfig, ip, ping, netstat, telnet | 網路介面設定、現代 IP 工具、連通測試、網路統計、遠端登入 |
| ftp, route, rlogin, rcp, finger, mail, nslookup | 檔案傳輸、路由表、遠端登入/複製、用戶資訊、郵件、DNS 查詢 | |
| 系統安全 | passwd, su, umask, chgrp, chmod | 密碼變更、身分切換、預設權限遮罩、群組變更、權限修改 |
| chown, chattr, sudo, ps, who | 擁有者變更、檔案屬性鎖定、提權執行、程序檢視、登入用戶 | |
| 壓縮與備份 | tar, unzip, gunzip, unarj | 打包壓縮、各種解壓縮格式支援 |
| mtools, man, unencode, uudecode | DOS 檔案操作、線上手冊、編碼/解碼轉換 |
# 格式
login [名稱] [-p] [-h 主機名稱]
# 參數
-p 保持目前環境參數
-h 傳遞用戶名至遠端登入服務
# 實際登入畫面
Manddrake Linux release 9.1 (Bamboo) for i586
kernel 2.4.21-0.13mdk on i686 / tty1
localhost login: root
Password:
# 登入成功顯示
[root@localhost root]#
Last login: Tue Nov 18 10:00:55 on vc/1
虛擬主控台:Alt+F1~Alt+F6切換 6 個獨立文字模式終端,圖形介面通常在Alt+F7。程式當機時可切換至其他虛擬主控台強制結束。
# 格式
shutdown [-h] [-k] [-c] [-t 秒] [時間] [訊息]
# 關鍵參數
-h 關機後切斷電源
-k 僅發送警告訊息,不實際關機
-c 取消正在進行的關機程序
-t 秒 延遲秒數後執行
時間 如 now, +5, 23:30
# 範例
shutdown -h now # 立即關機
shutdown -h +10 "系統維護" # 10 分鐘後關機並廣播訊息
shutdown -c # 取消排程關機
# 實際調用 shutdown -h
halt [-n] [-w] [-f] [-i] [-p]
# 參數
-n 防止 sync(fsck 修復根分區後使用)
-w 僅寫入 wtmp 紀錄,不實際關機
-f 強制關機,不經 shutdown
-i 關機前關閉所有網路介面
-p 關機時切斷電源(預設)
關機原則: 絕不可直接切斷電源!Linux 後台運行大量服務,強制斷電導致資料遺失、檔案系統損壞、甚至硬體損害。務必使用shutdown或halt讓服務優雅停止、資料同步寫入磁碟。
# 基本語法
find 路徑 選項 條件 動作
# 常用範例
find / -name "*.log" -mtime -7 # 根目錄找 7 天內修改的 .log
find /home -type f -size +100M # 找超過 100MB 的一般檔案
find /var/log -name "*.log" -exec gzip {} \; # 找到後執行壓縮
find . -perm 644 -ls # 找權限 644 的檔並詳細列出
grep -rn "error" /var/log/ # 遞迴搜尋含 error 的行(顯示行號)
grep -i "failed" *.log # 忽略大小寫
grep -v "^#" config.conf # 排除註解行
ps aux | grep nginx # 管線過濾程序
# 壓縮打包
tar -czvf backup_$(date +%F).tar.gz /etc /home/user
# 解壓縮
tar -xzvf backup.tar.gz -C /restore/path
# 僅列出內容
tar -tzvf backup.tar.gz
top # 互動式,按 M 排序記憶體,P 排序 CPU,k 終止程序
htop # 增強版(需安裝),滑鼠支援、樹狀檢視、色彩豐富
df -h # 檔案系統使用率(人類可讀)
du -h --max-depth=1 /home # 目錄大小統計(僅第一層)
ip addr show # 顯示所有介面 IP
ip route show # 路由表
ss -tuln # 監聽埠(TCP/UDP),比 netstat 快
man 指令、撰寫自動化腳本、閱讀開源專案維運腳本建立指令知識體系非一日之功,但掌握這 30+ 核心指令與六大分類架構,已足以應對絕大多數初中級 Linux 運維與開發場景。善用 man、info、--help 及線上資源持續深化,才是長久之計。