Yakim shu Hi, 這是我擴充腦內海馬體的地方。

[第一週] Command Line - Terminal、基本指令介紹

Command Line 基本理解

簡單來說就是跟電腦溝通,做出我們想要執行的動作。

有別於一般人習慣的圖形化介面 (GUI),其實可以實現一樣的動作,差別在於 GUI 是別人 設計規劃出容易理解的介面,像關閉檔案的按鈕大部分都是紅色 X 作為識別,通常是用滑鼠操作。

而 Command Line 則是 透過純文字 來操縱指定的動作。


環境建置

推薦 Mac 用的 Command Line Tool - iTerm2

優點:

參考:


客製化步驟:

  1. 換顏色
    • 教學是寫開啟 cmd + I,但這樣好像是改 Session 的顏色,等於重開視窗就回復成預設樣式
    • 所以我是改主程式的偏好設定 cmd + , ,改掉預設樣式
    • 螢幕快照 2019-04-15 上午10.37.33
  2. 換字體
    • 同樣的,記得是在主程式的偏好設定裡更改
  3. 安裝 ZSH
    • sudo 指令要輸入密碼,一開始沒發現輸入法是中文,一直進不了有點崩潰
  4. 安裝 Oh My ZSH(管理 ZSH 設定檔(configuration)的框架)
  5. 安裝 Auto Suggestions(ZSH 外掛)

參考:


基本指令介紹

pwd :印出目前所在位置

ls : 列出當前資料夾底下的所有檔案

cd :切換當前資料夾

man : 使用說明書( Windows 沒有 )

clear: 清空 Terminal 版面


檔案操作的相關指令

touch 新增檔案 or 修改檔案時間

rm : 刪除檔案

mkdir : 新增資料夾

mv : 移動檔案 or 改檔名

cp : 複製檔案

cat : 快速查看檔案內容

cat test:另一個方法不用額外開啟其他文字編輯器,也可以快速查看檔案內容。

螢幕快照 2019-04-15 下午12.25.04


VIM 文字編輯器

極度不友善但看起來很帥的文字編輯器,有分普通 & 輸入模式。

切換模式:

跳出編輯器:(先切換到普通模式)


其他常見的好用指令

grep: 抓出並高亮關鍵字

wget : 下載檔案

curl : 送出 request


指令組合技

> : 將指令的結果存到檔案內容

| : 將左邊指令的輸出,變成右邊指令的輸入 ( 這句話聽了好多遍才聽懂啊 )

試試結合以上兩種符號

螢幕快照 2019-04-15 下午3.29.44

無用題外話:一聽到 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 有高亮提示,錯誤的指令在還沒送出前就可以看出來了)

爬文後,學到操作資料夾的其他指令


( 以上內容大部分是 程式導師實驗計畫第三期 的學習筆記,如有錯誤歡迎糾正,非常感謝 🤓 )