&
溫室羊
CKEFGISC
2026
學術幹訓
一七參加有
一四的幹訓吧
| Windows | 按 Win + R,輸入 cmd(或改用 PowerShell、Git Bash) |
| macOS | 按 Command + 空白鍵(開啟 Spotlight),輸入 Terminal |
| VS Code | 選單 Terminal → New Terminal,可直接切換 bash / zsh / PowerShell 等 |
Windows 要裝 Linux 虛擬機或是 wsl 才可以有 Unix CLI
提示字 指令 參數1 參數2 ... 參數nShell 打指令的格式如下:
提示字是 Shell 的輸出,會有一些資訊
你輸入的第一個字就是指令
以空格分割的是該指令的參數
通常以 - 開頭的是選項,每個指令都走自己的一套選項
-- 開頭的是長選項,後面接完整的名稱
- 是短選項,一個字母是一個選項
ex: -abc = -a -b -c
大部分指令都有 --help,可以看用法跟可用選項
在開始之前,你們得先登入虛擬機
ssh -p port account@ip好欸有linux環境了
你在開檔案總管時會有上面有個路徑
終端機在操作時也是跟這個路徑相同的概念
路徑代表的是你現在人在哪
你在開檔案總管時會有上面有個路徑
終端機在操作時也是跟這個路徑相同的概念
路徑代表的是你現在人在哪
我在哪?
pwdls / ls -a(含隱藏檔)/ ls -l(詳細資訊,含權限、時間)這層目錄有啥
打開某個目錄
cd路徑(相對、絕對)
cd projectcd /Users/ianwen上層、上上層
cd ..cd ../..回家
cd ~創建資料夾
mkdir project創建檔案 (摸它)
touch something.txt刪除
rm 檔案/rm -r 資料夾rm -f 無視唯讀強制刪除複製貼上
cp a bcp -r directory_a directory_b移動 (同時也可以是改名)
mv something.txt nothing.txtmv nothing.txt ../印出內容 (貓它)
cat nothing.txt編輯內容 (以nano為例)
nano nothing.txtnano有蠻多快捷鍵的
↑ ↓ 方向鍵 - 找指令歷史創建一個檔案叫做 cat.txt,把它改名叫 dog.txt
創建一個 pet 目錄,把 dog.txt 移進去
把 dog.txt 內容編輯為 "woof!"
輸出 dog.txt 的內容
刪掉 pet 資料夾
less 檔案,即可分頁查看echo hello > a.txt
把指令輸出覆寫檔案
把指令輸出寫入檔案最後
echo world >> a.txt
把前一個指令的輸出當下一個指令的輸入
ls | grep ".txt"
head -n 行數 檔案
tail -n 行數 檔案
沒指定就是 10 行
sudo lsof -i :8080
sudo lsof -i 4
sudo lsof -i 6
IPV4
IPV6
| 功能 | Arch Linux | Debian / Ubuntu | Red Hat / Fedora | macOS (Homebrew) |
|---|---|---|---|---|
| 查詢套件 | pacman -Ss <套件> | apt search <套件> | dnf search <套件> | brew search <套件> |
| 列出已安裝套件 | pacman -Q | apt list --installed | dnf list installed | brew list |
| 安裝套件 | pacman -S <套件> | apt install <套件> | dnf install <套件> | brew install <套件> |
| 刪除套件 | pacman -Rs <套件> | apt remove <套件> | dnf remove <套件> | brew uninstall <套件> |
| 清除不再需要的依賴 | pacman -Qdtq | pacman -Rns - | apt autoremove | dnf autoremove | brew autoremove |
| 更新套件庫 | pacman -Sy | apt update | dnf check-update | brew update |
| 更新所有套件 | pacman -Syu | apt upgrade | dnf upgrade | brew upgrade |
把當前資料夾初始化成一個 repo
git init查看目前工作區狀態
git status
比較檔案差異
git diff
git diff --staged把修改丟到 staging area
git add filename
git add .提交一個版本 (local)
git commit
git commit -m "commit message"查看提交 (commit) 歷史
git log
git log --oneline移動 HEAD、修改暫存(staging area)、放棄修改的指令
git reset取消 git add
取消當前的編輯並退回最後一筆commit
git reset --hard HEADhard: 取消所有編輯 且退出暫存區
soft: 不取消編輯 不退出暫存區
mixed: 不取消編輯 但退出暫存區
HEAD 也可以替換成特定 commit的id
查看本地的分支/創建分支
git branch
git branch dev切換到指定分支
git switch dev
git switch -c dev指定某個分支合併到當前分支
git merge dev舉個例子
git switch -c feature-login # 從目前分支建立並切到新分支 feature-login
# 開發、commit...
git switch main # 開發完成,切回主分支
git merge feature-login # 把 feature-login 的成果合併進 main
git branch -d feature-login # 合併完成後,可以刪除已經沒用的分支你突然要切 branch,git 會嗆你
git stashstash 就能把東西扔一邊,等等做完再拿回來
git stash popstash 不只一個?
git stash list
git stash apply stash@{1}git clone https://github.com/使用者名稱/專案名稱.git把遠端的整個repo複製到本機
連結到遠端的repo
git remote -v
git remote add origin 網址git push
git push -u origin main (第一次)把本機的 commit 推送到遠端
把遠端的最新內容拉回本機(fetch)並合併(merge)
git pull origin mainbye bye lah~
shout out to 溫室蔡去年的簡報
我備課燒雞啦