Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 生存技能筆記:指令、觀念、除錯技巧與實用工具彙整

編輯:Linux 系統常見問題解答

前言

這是一份長期累積的 Linux 實戰筆記,涵蓋指令用法、核心觀念、常見坑點與工具推薦,適合系統管理員、開發者隨時查閱。

核心指令速查

線上手冊分類

  • man 2 func:系統呼叫(如 man 2 mmap)
  • man 3 func:C 函式庫(如 man 3 printf)

檔案連結

  • 硬連結(ln):同一 inode,不可跨分區,刪除來源檔案資料不消失。
  • 軟連結/符號連結(ln -s):類似捷徑,可跨分區,來源刪除則連結失效。

程序管理

ps aux           # 靜態快照
top / htop       # 動態監控
kill -9 PID      # 強制終止
pgrep -l name    # 依名稱查 PID
pidof name       # 僅顯示 PID
pstree           # 程序樹

歷史指令與搜尋

  • Ctrl + R:互動式搜尋歷史指令,輸入關鍵字即時過濾。
  • history:顯示歷史清單。

編譯與除錯

  • make 2>&1 | tee build.log:將 stderr/stdout 同時輸出螢幕與檔案,利於事後追蹤。
  • gcc -strip:移除偵錯資訊,縮小執行檔體積。

磁碟與掛載

mount            # 查看目前掛載點
umount /mnt      # 卸載(忙碌時用 lsof / fuser 找佔用程序)
lsblk            # 區塊裝置樹狀圖

網路流量監控

  • nethogs:依程序顯示頻寬佔用,極適合找出佔滿頻寬的進程。
  • iftop:依連線顯示流量。

模組與核心

lsmod            # 已載入核心模組
modprobe name    # 載入模組
dmesg | tail     # 核心訊息

觀念釐清

  • 程式 vs 程序:程式是靜態二進位檔;程序是執行中的實例,擁有 PID、記憶體空間、執行緒、狀態。
  • 進程狀態:R (Running)、S (Sleeping)、D (Uninterruptible Sleep)、T (Stopped)、Z (Zombie)。
  • 不要隨意更新核心/套件:生產環境升級前必須在測試環境驗證,避免相依性地獄導致服務中斷。
  • yum (RHEL/CentOS) ≈ apt (Debian/Ubuntu):套件管理器概念相同,指令不同。

實用技巧集錦

  • 多行指令:行尾加反斜線 \ 換行續寫。
  • 刪除除特定檔案外所有檔案:find . ! -name 'keep.txt' -delete(謹慎使用)。
  • 排除特定路徑的 find:find /path -path /path/exclude -prune -o -print。
  • NFS 掛載:mount -t nfs server:/share /mnt。
  • 虛擬機使用 Shadowsocks/代理:配合 proxychains、redsocks 實現全系統代理。
  • 修改終端提示符只顯示當前目錄:編輯 ~/.bashrc 的 PS1 變數。

工具推薦

  • Samba:跨平台檔案共享首選。
  • IBM DeveloperWorks Linux 專區:高品質技術文章庫。
  • 知乎/Stack Overflow:問題解決社群。

小結

Linux 學習無捷徑,多實作、多查手冊、多累積筆記。將零碎知識串聯成體系,關鍵時刻才能游刃有餘。

Copyright © Windows教程網 All Rights Reserved