這週的一大學習重點就是學會如何使用 Command Line,目前最常用的是 VS Code 裡面的 Terminal 功能,可以一邊寫扣一邊用 Terminal 好方便,以下是一些 CLI 的筆記:
CLI 簡介
命令列介面(CLI),是一套用純文字下指令給電腦的工具。我們平時在電腦上熟悉的那些視窗、圖示和按鈕的介面,則可以統稱圖形使用者介面(GUI)。雖然在使用上,CLI 沒有 GUI 來的直覺和易用,但一些系統或程式,並沒有 GUI 可以使用,所以必須要熟悉 CLI 這套工具。
CLI 程式
有很多可以選擇,我是使用 windows 系統,覺得比較好用的有下面兩套:
- Git bash
- Cmder
基本指令介紹
每個指令其實都是該功能英文的簡稱,這樣會方便記憶
pwd
印出現在的位置 (Print Working Directory)
cd
切換目錄 (Change Directory)
- 用來切換移動到不同的資料夾
- 用法:
cd C:\Users\abc
// 移動到 Users 下的 abc 資料夾cd C:\Program Files\Git
// 移動到 Program Files 下的 Git 資料夾cd ..
// 移動到上一層資料夾cd ~
// 移動到系統預設的原點
- 切換硬碟槽不使用 cd,直接輸入該槽名稱即可:
D:
// 從 C 槽切換至 D 槽
ls
列出檔案 (List)
- 用來檢視當前目錄下的所有檔案,例如,現在位置在 C:,要檢視該目錄下的所有檔案,輸入 ls,可以看到該 abc 資料夾內的所有檔案有哪些
- 常用參數
- -a:列出所有檔案,包含隱藏檔( 開頭為 . 的檔案)
- -h:可將檔案容易以易讀式呈現(EX:GB、KB、…)
- -l:將資料以列表形式呈現,並且包含檔案細部資料(屬性、權限、時間…)
- -r:反向排序(原先是從a->z變成z->a)
- -R:將目錄下的子目錄檔案一起列出(白話:整個資料夾檔案列出)
- -S:用檔案大小排序
- -t:用時間排序
man
使用說明 (Manual)
- 用來查看某項指令的功能使用說明:
man 要查找的指令
- Windows 沒有 man,可以用 help 取代
touch
新建檔案 / 修改檔案時間
- 新建檔案
touch 要新建的檔案名稱.可選副檔名
- 修改檔案時間
touch 現有的檔案
// 檔案時間會被更新成當前時間
rm
移除檔案 (Remove)
- 用法:
rm 要移除的檔案
rmdir
移除資料夾 (Remove Directory)
- 移除 abc 資料夾:
rmdir abc
- rm -r 也可以移除資料夾
rm -r abc
mkdir
建立資料夾
- 建立名為 test 的資料夾
mkdir test
mv
移動檔案 / 更改檔案名稱 (Move)
- 移動檔案:
mv 要移動的檔案 要移進的資料夾
- 要移進的資料夾可用相對或絕對路徑”
- 相對路徑:相對於現在當前位置的路徑
- 絕對路徑:以根目錄為起始點,完整寫下路徑
- 更改檔名:
mv 要改名的檔案 要改的名字
cp
複製檔案 (Copy)
- 複製檔案:
cp 要複製的檔案 複製出來的檔案名
- 複製資料夾:
cp -r 要複製的資料夾 複製出來的資料夾名
cat
查看檔案內容
- 可以在 Command Line 裡直接查看檔案內容
grep
抓住搜尋的字
- 用法
grep 要搜尋的關鍵字 在哪個檔案裡搜尋
wget
下載檔案
- 非內建指令,Windows 使用者可以把 wget 下載下來之後安裝,並把 wget.exe 放進 System32 的資料夾就可以使用了
- 如何在 Windows 上安裝 wget
curl
送出 request
- 主要可以用來測試 API
組合技
>
將某指令的結果存到某檔案內 (Redirection)
- 把 ls -al的內容,輸出到 list_result
ls -al > list_result
- 把 echo 印出的內容,輸出生成 123.txt
echo "123" > 123.txt
- 輸出的檔案可以是新建的檔案或已存在的檔案要,注意在對已存在的檔案使用
>
時,檔案內容會被全部覆蓋,如果只想要新增內容,可以用>>
>>
將某指令的結果新增到某檔案內
- 把 echo 印出來的內容,新增到 123.txt(舊的內容不會被蓋過去)
echo "append to the end of the file" >> 123.txt
|
將左側輸出變成右邊輸入 (Pipe)
- 把 hello 內的內容輸出,輸入至 grep 功能,搜尋出含有 o 的內容,最後存到 result.txt 這個檔案
cat hello | grep o > result.txt
echo
將資訊輸出到螢幕或檔案
- test.txt 檔案內容會產生 This is a test
echo “This is a test.” > test.txt
VIM 編輯器
目前使用起來不太順手,簡單記錄一下用法 QQ
切換模式:
- 按 i 進入編輯模式 // 在編輯模式才可以修改和打字
- 按 esc 跳出編輯模式進入普通模式
- 按 :q 結束
- 按 :wq 存檔後結束