絕對路徑 vs 相對路徑
絕對路徑:從根目錄開始,/home/user/projects/myapp。不管你在哪裡,這個路徑都指向同一個地方。
相對路徑:相對於當前目錄,./src/index.js 或 ../config.json(.. 是上一層目錄)。
~ 是 home 目錄的縮寫(/home/user 或 /root)。
20 個最常用指令
導航和查看:
pwd # 現在在哪(Print Working Directory)
ls # 列出目錄內容
ls -la # 詳細列表,包含隱藏檔(.開頭)
cd /path/to/dir # 切換目錄
cd ~ # 回 home 目錄
cd - # 回上一個目錄(toggle)檔案操作:
cp src.txt dest.txt # 複製
cp -r src_dir/ dest_dir/ # 複製目錄(-r 遞迴)
mv old.txt new.txt # 移動 / 重新命名
rm file.txt # 刪除(不可恢復)
rm -rf dir/ # 刪除目錄(小心!)
mkdir -p parent/child/grandchild # 建立目錄(-p 建立中間層)
touch file.txt # 建立空檔案 / 更新 timestamp查看內容:
cat file.txt # 顯示整個檔案
head -n 20 file.txt # 顯示前 20 行
tail -n 20 file.txt # 顯示最後 20 行
tail -f logfile.log # 即時追蹤新增的行(看 log)
less file.txt # 分頁查看(q 退出,/keyword 搜尋)搜尋:
grep "error" logfile.log # 找包含 "error" 的行
grep -r "TODO" ./src/ # 遞迴搜尋目錄
grep -n "function" main.js # 顯示行號
find . -name "*.log" # 按名稱找檔案
find . -name "*.py" -mtime -1 # 找 1 天內修改的 .py 檔系統和 process:
ps aux # 列出所有 process
ps aux | grep "node" # 找特定 process
kill -9 <pid> # 強制結束 process
top # 即時系統資源監控(q 退出)
df -h # 磁碟使用量(human-readable)
du -sh /path/ # 目錄大小其他常用:
man ls # 查看指令說明(man page)
which python3 # 找到指令在哪裡
echo $PATH # 顯示環境變數
export MY_VAR="value" # 設定環境變數(只在當前 shell)
history # 查看歷史指令
!! # 重跑上一個指令
!grep # 重跑最近一次 grep 開頭的指令Tab Completion
Terminal 裡按 Tab 鍵,shell 會自動補全路徑或指令名稱。按兩次 Tab 顯示所有可能的選項。這是大幅提高效率的習慣——路徑和指令不需要全部自己打。
Ctrl 快捷鍵
Ctrl+C 中止當前執行的指令
Ctrl+Z 暫停(不是結束)
Ctrl+D 送出 EOF(退出 interactive shell 或結束輸入)
Ctrl+L 清屏(等同 clear 指令)
Ctrl+A 游標移到行首
Ctrl+E 游標移到行尾
Ctrl+R 搜尋歷史指令
這 20 個指令涵蓋了 80% 的日常 CLI 工作。Shell scripting(pipes、awk、sed)和 process/permissions 管理各自是更深的主題,在本章的 33 和 34 篇繼續。