---
# System prepended metadata

title: CMD101 Cammand Line 超新手入門

---

# CMD101 Cammand Line 超新手入門
---
## command line 基本理解
電影裡的電腦高手，為了展現他高超的能力，就會對著黑色的視窗輸入一些觀眾看不懂的英文，按下 enter 後，就開始跑出更看不懂的東西了。
程式高手就是透過 command line 與電腦進行溝通。

---

## 基本指令
pwd(Print Working Directory) - 印出我在哪裡
ls(LiSt) - 印出現在資料夾底下的檔案，(-是加入參數)( -al 可以印出更詳細的資料)
cd(Change Directory) - 切換資料夾 (cd … or cd ~ 可以回到上一層) (cd + tab-可以讓電腦幫你輸入，只需要輸入關鍵字)
clear(Clear) - 清空畫面
man(MANual) - 使用說明書，但是在 Windows 裡會顯示不存在。
touch(Touch) - 建立檔案或是更改檔案最後的時間
rm(Remove) - 刪除檔案，(rmdir-刪除資料夾)
mkdir(MaKe DIRectory) - 建立資料夾
mv(MoVe) - 移動檔案或改名 (移回上一層 mv ‘檔案名’…)改名 mv ‘原名稱’ ‘新名稱’
cp(CoPy) - 複製檔案 cp ‘原檔案’ ‘新檔案’，資料夾 cp -r ‘原資料夾’ ‘新資料夾’
vim - 編輯器 :q 離開編輯器; wq 存檔; i 插入模式
grep - 抓取關鍵字 $ grep + '需要找的字’
wget - 下載檔案(如果沒有可以去安裝指令) $ wget + URL，可以下載圖片或是網頁原始碼
$curl - 送出 request，可以拿來測試 API
redirection ‘>’-重新導向 input output $ls -al > ‘要寫入的檔案名稱’，如果要新增不是覆蓋的話，要使用 echo + ‘新增內容’ >> '檔案名’
pipe ‘|’ - 把指令接起來
subl - 使用 Sublime 打開文件

## ls（list）
列出所有檔案和路徑
變化型
1. 列出隱藏的目錄：ls -a
2. 列出詳細資料：ls -l
3. 包上述兩個：ls -la
4. 列出 .js 的檔案：ls *.js

## cd（change directory）
切換目錄
寫法： cd 子目錄
變化型
1. 回到 home 目錄：cd ~ # 屬於使用者底下的資料夾
2. 回到根目錄：cd / # 電腦最底層
3. 回到上一層資料夾：cd ..
小訣竅
1. 當輸入 cd 空格 時，按 tap 會幫你自動列出底下的資料夾列表。 ＃等於是輸入 ls 。
2. 輸入前幾個字母，再按一次 tap 會幫你自動補完資料夾名稱。
3. 切換槽（windows）：d:
4. 回到桌面： ~/desktop

## clear
- 清空 Terminal 面板。

# II. 檔案操作指令
## mkdir（make directory）
- 新建資料夾。
- 寫法：mkdir 資料夾名稱
- 舉例：mkdir test01
## rm （remove）
- 刪除檔案，這邊的刪除檔案是「直接刪除」，並不會進到垃圾桶中，因此使用時要小心。
變化型：
1. rmdir （remove directory）：刪除空資料夾，若資料夾內有檔案就無法刪除。
2. rm -rf ：刪除整個檔案或整個資料夾 ＃謹慎使用，刪掉就真掰掰了。
小訣竅
1. 當刪除的檔名帶有空格或特殊字元時可使用單引號將檔名括起來，舉例：rm '要 刪 除 的 檔 名'。
mv（move）

作用一
1. 移動檔案
2. 寫法：mv 檔名 路徑 ＃要注意相對路徑跟絕對路徑的差異。
3. 舉例：
相對路徑：mv file folder ＃以 desktop 為 home 目錄。
絕對路徑：mv file /Users/miahsu/desktop

作用二
1. 改檔名
2. 寫法：mv 原檔名 新檔名
3. 舉例：mv originalFile newFile

## touch
- 碰一下檔案
- 寫法：touch 檔名
- 情況一：假設檔案不存在，就會建立一個新的檔案。
- 情況二：假設檔案存在，更改檔案些改時間。

## cp（copy）
- 複製檔案
- 舉例：cp file01 file01_copy
 
### 變化型
- cp -r
- 寫法：cp -r 原資料夾名稱 新資料名稱
- 舉例：cp -r folder folder_copy
## echo
- 作用一：印出字串在 Terminal 面板。
- 作用二：印出字串在檔案中。 ＃詳見組合技 redirect
 
## cat（catenate）
- 將檔案內容顯示在 Terminal 面板。
## less
- 將檔案內容以分頁顯示在 Terminal 面板。
## grep
- 抓取特定關鍵字，並高亮顯示（有分大小寫）。
- 寫法：grep 字串 檔名
- 舉例：grep a test2.txt

## vim
進入 vim 編輯器，分為普通模式跟編輯模式
對應 key：
i 進入編輯模式
esc 進入普通模式
:q 退出
:wq 存檔後退出
:q! 不存檔直接退出