
【Flutter 學習筆記】線上課程教學影片:連結
【Flutter 學習筆記】系列文章目錄:連結
什麼是 Shell?
Shell 是一個介於人類與電腦之間的溝通橋樑,讓我們可以透過輸入指令來操作電腦。

人跟電腦溝通,重要的兩座橋樑 (手繪會比就有人情味嗎?)
圖形化介面 (GUI) vs. 命令列介面 (CLI)
- 圖形化介面 (GUI):這是我們每天都在使用的圖形化介面,例如智慧型手機、電玩遊戲或是電腦上的資料夾瀏覽。GUI 的優點是容易上手,即使沒有太多電腦操作經驗的人也能輕鬆使用。
- 命令列介面 (CLI):這是以純文字指令來操作電腦的介面,例如 macOS 上的終端機。CLI 的優點在於可以執行更複雜的操作,例如架設伺服器、下載安裝軟體、執行程式碼等等,對於開發者來說更有效率且功能更強大。
macOS 終端機與 Shell
macOS 終端機是一個文字輸入環境,而 Shell 則是讓終端機能夠運作的軟體。macOS 上預設的 Shell 是 zsh (Z Shell)。如何查看當前使用的 Shell
要查看你當前使用的 Shell,可以在終端機中輸入以下指令:
echo $0
這會顯示當前執行的 shell 名稱。如: zsh
或 bash
。如果顯示的 zsh,那麼就是在使用 zsh 的 Shell,如果顯示的 bash,那麼就是在使用 bash 的 Shell。。
echo $SHELL
這個指令會顯示當前使用的 Shell 路徑。如:/bin/zsh
或 /bin/bash
。同理,
如果顯示的 zsh 路徑,那麼就是在使用 zsh 的 Shell。
如何安裝 zsh
自 2019 年 10 月發布的 macOS Catalina (macOS 10.15) 起,Zsh(Z Shell)已成為了 macOS 的預設 Shell。如果你需要安裝或更新 zsh,可以使用 Homebrew 這個套件管理工具。首先,確保你已經安裝了 Homebrew,然後在終端機中輸入以下指令:
brew install zsh
安裝完成後,你可以使用 zsh --version
來確認 zsh 是否安裝成功。
如何切換到 zsh
如果你想要切換到 zsh,可以在終端機中輸入以下指令:
zsh
這樣就會啟動 zsh。如果你希望將 zsh 設定為預設的 Shell,可以使用以下指令:
chsh -s /bin/zsh
這個指令會將 zsh 設定為你的預設 Shell。請注意,這個變更可能需要重新啟動終端機才能生效。
重要目錄
- 根目錄 (/):macOS 上的第一個資料夾,包含系統相關的資料夾。
- 使用者目錄 (/Users):包含所有使用者的家目錄。
- 家目錄 (~):每個使用者存放個人檔案的目錄。
開啟終端機時,預設會位於家目錄。
基本指令
- pwd (顯示當前目錄):顯示目前所在目錄的路徑。
- ls (列出檔案):列出當前目錄下的所有檔案和資料夾。
- cd (切換目錄):切換到指定目錄。
- 使用
cd /
切換到根目錄。 - 使用
cd ~
切換到家目錄。 - 使用
cd ..
切換到上一層目錄。
- 使用
絕對路徑與相對路徑
- 絕對路徑:從根目錄開始的完整路徑,例如
/Users/你的使用者名稱/Desktop
。 - 相對路徑:從當前目錄開始的路徑,例如
Desktop
表示當前目錄下的Desktop
資料夾。
建議盡量使用相對路徑,因為這樣在將專案移交給其他使用者時,檔案路徑才不會失效。
建立與刪除檔案和資料夾
- touch (建立檔案):建立一個新的空檔案。
- 例如
touch index.html
會建立一個名為index.html
的檔案。
- 例如
- mkdir (建立資料夾):建立一個新的資料夾。
- 例如
mkdir demo
會建立一個名為demo
的資料夾。 - rm (刪除檔案):刪除一個檔案。注意:使用
rm
刪除檔案後將無法復原。 - 例如
rm index.html
會刪除名為index.html
的檔案。
- 例如
- rmdir (刪除資料夾):刪除一個空的資料夾。
- 例如
rmdir demo
會刪除名為demo
的資料夾。
- 例如
- rm -r (刪除資料夾與其內容):刪除一個資料夾及其所有內容。注意:使用
rm -r
刪除資料夾後將無法復原,請務必小心使用。 - 例如
rm -r demo
會刪除名為demo
的資料夾及其所有內容。
- 例如
複製和移動檔案
- cp (複製檔案):複製檔案到指定位置。
- 例如
cp index.html demo/
會將index.html
檔案複製到demo
資料夾中。
- 例如
- cp -r (複製資料夾):複製資料夾到指定位置。
- 例如
cp -r demo ~/Desktop/
會將demo
資料夾複製到Desktop
資料夾中。
- 例如
- mv (移動檔案):移動檔案或資料夾到指定位置,也可以用來重新命名檔案。
- 例如
mv index.html demo/
會將index.html
檔案移動到demo
資料夾中。 - 例如
mv index.html index2.html
會將index.html
檔案重新命名為index2.html
。
- 例如
注意事項
指令中的空格非常重要。如果檔名或資料夾名稱中含有空格,請在空格前加上反斜線 (\
) 來 escape,例如 mkdir my\ demo
。
Flags
Flags 是可以附加在指令後面的選項,用來改變指令的行為。
- 例如
rm -r
中的-r
就是一個 flag,表示要遞迴刪除資料夾及其內容。 - 可以使用
man
指令查詢每個指令的 flags,例如man rm
會顯示rm
指令的說明文件。
結論
透過這篇文章教學,讀者應該對 macOS 終端機及其基本指令有了初步的了解。雖然命令列介面可能在一開始看起來有些嚇人,但隨著練習,你會發現它的強大與靈活性。希望這篇文章能幫助你在使用 macOS 終端機的旅程中更得心應手!