簡單來說就是跟電腦溝通,做出我們想要執行的動作。
有別於一般人習慣的圖形化介面 (GUI),其實可以實現一樣的動作,差別在於 GUI 是別人 設計規劃出容易理解的介面,像關閉檔案的按鈕大部分都是紅色 X 作為識別,通常是用滑鼠操作。
而 Command Line 則是 透過純文字 來操縱指定的動作。
推薦 Mac 用的 Command Line Tool - iTerm2
優點:
參考:
cmd + I,但這樣好像是改 Session 的顏色,等於重開視窗就回復成預設樣式cmd + , ,改掉預設樣式
sudo 指令要輸入密碼,一開始沒發現輸入法是中文,一直進不了有點崩潰參考:
pwd :印出目前所在位置ls : 列出當前資料夾底下的所有檔案ls -al:列出更詳細的資訊( 包括隱藏檔案 )
cd :切換當前資料夾cd ..:回到上一層資料夾cd ~: 回到根目錄cd 空格 時,按 tap 會幫你自動列出底下的資料夾列表( 等於是輸入 ls )tap 會幫你自動補完資料夾名稱man : 使用說明書( Windows 沒有 )man 來看說明。man ls:會列出如何使用 ls 的規範文件Q 跳出說明clear: 清空 Terminal 版面touch 新增檔案 or 修改檔案時間touch 一個現有的檔案,檔案時間會改變成當前時間

rm : 刪除檔案rmdir testrm -r test
-r:刪除資料夾及裡面所有檔案,謹慎使用!-f:跳過確認訊息,直接刪除檔案
mkdir : 新增資料夾mv : 移動檔案 or 改檔名mv file foler:把 file 這個檔案移到 folder 資料夾裡folder 分為 相對路徑 & 絕對路徑,假如我當前位置在桌面 Desktop,但要移動到桌面底下的 folder 資料夾
Desktop )
mv file foler/ 開頭
mv file /Users/yakim/Desktop/foldermv file new_name:把 file 這個檔案名稱改成 new_namecp : 複製檔案cp file file_2:複製一個 file_2 檔案cp -r folder folder_2:複製一個 folder_2 資料夾cat : 快速查看檔案內容cat test:另一個方法不用額外開啟其他文字編輯器,也可以快速查看檔案內容。

極度不友善但看起來很帥的文字編輯器,有分普通 & 輸入模式。
esc:進普通模式
i :進輸入模式
:q:wqgrep: 抓出並高亮關鍵字grep keyword file
wget : 下載檔案brew install wgetcurl : 送出 requestwget 下載檔案
curl API_url: 輸入 api 網址,會用 get 方式顯示出回應curl -I API_url:顯示出更多資訊> : 將指令的結果存到檔案內容ls > file :將 ls 輸出的內容存到 file 檔案> 符號為 全部覆蓋,所以原本 file 的內容會被取代>>
代替。
| : 將左邊指令的輸出,變成右邊指令的輸入 ( 這句話聽了好多遍才聽懂啊 )

無用題外話:一聽到 Pipe ,想說這詞怎麼這麼耳熟,原來是美劇「矽谷」裡面的公司名稱 Pied Pipe。( 很無用吧! )
echo : 將資訊輸出到 螢幕 或 檔案 中參考資料: 維基 - echo (命令)
$ echo This is a test.
This is a test.
$ echo "This is a test." > test.txt
$ cat test.txt
This is a test.
隔天就開始學 Git ,但如果有任何的檔案改動機會,盡量都使用這一節學到的 Command Line 指令,不得不說是個很好的練習機會,跟學習語言一樣,派得上用場才會體現出價值。
例如當我想把資料夾 folder1/ 搬到資料夾 folder2/ 裡面,Huli 上一節有教到 移動檔案 的指令是 mv,然而按照之前檔案跟資料夾關係的邏輯,開始亂試會不會 mvdir foler1 foler2 或是 mv -r foler1 foler2,當然我每次這樣亂猜幾乎都不會成功啦哈哈哈哈,最後還是認命爬文比較實在。
(後來才發現貼心的 Termial 有高亮提示,錯誤的指令在還沒送出前就可以看出來了)
mv foler1/ folder2/ ( 可惡,不能統一嗎? )mv folder new_name
( 以上內容大部分是 程式導師實驗計畫第三期 的學習筆記,如有錯誤歡迎糾正,非常感謝 🤓 )
Written on April 15th, 2019 by Yakim shu