# Terminal 常用指令筆記 - Command Line ###### tags: `terminal` ## 終端機 Terminal * 輸入指令的工具 (本身沒有運算能力) * 讓人類直接跟電腦溝通互動的介面 * 是一種 Command Line Interface (指令列介面) :::spoiler 介面的兩種形式 1. **CLI** 指令列介面(Command Line Interface) => 透過純文字來操控電腦來做指定的動作 ex: Terminal 2. **GUI** 圖形介面 (Graphical User Interface) => 透過視覺方式來操控電腦來做指定的動作 ex: 滑鼠、視窗 ::: ## 常用 terminal 指令筆記 ## `pwd` Print working Directory 印出現在所在位置 ```terminal [~] $ pwd /Users/merano ``` ## `ls` List Segment 印出所有檔案 變化: 1. 列出**所有檔案(包括隱藏檔)**:`ls -a` 2. 列出**詳細資料**:`ls -l` 3. 列出**隱藏+詳細資料**:`ls -la` 4. 列出所有 .js 的檔案:`ls *.js` ## `cd` Change Directory 切換目錄 `cd web/file` 進入子層 `cd ..` 回到上一層 `cd ~` 回到 home 目錄 (使用者底下的資料夾) `cd /` 回到根目錄 (電腦最底層) :::info TIPS: - 當輸入 cd + (空格) 時,按 tab => 會幫你自動列出底下的資料夾列表 - 輸入 cd + (前幾個字母...),再按一次 tab => 會幫你自動補完資料夾名稱 ::: ## `touch` 功能 1. 碰一下檔案(會改變最後修改時間) 2. 建立新檔案(如果要 touch 的檔案不存在的話) :::info - 一次新增多個檔案 => 只要每個檔名中間空一格 ::: ## `mkdir` Make Directory 新增資料夾 ```terminal mkdir (資料夾名稱) ``` ex: `mkdir test123` ## `rm` remove 刪除 刪除檔案 ```terminal rm (檔案名稱) ``` ex: `rm hello.c ` 刪除資料夾 ```terminal rmdir (資料夾名稱) ``` ex: `rmdir folder` :::info - `rm -i` 會再次確認是否刪除檔案 => 在回覆y之後才會刪,多一層保護 - `rm -rf` 刪除整個資料夾 => 注意! 刪除後不會進到垃圾桶,須謹慎使用! ::: ## `cp` copy 複製檔案 ```terminal cp (原檔案) (複製之後的檔案名) ``` ex:`cp hello.c hello2.c` ## `mv` Move 移動檔案 ```terminal mv (要移動的檔案) (要移動到的資料夾) ``` ex:`mv hello.c test` ## `man` Manual 使用說明 `q` => 離開介面 ## `date` 印出現在時間 ``` [~] $ date Mon Jun 27 16:15:37 CST 2022 ``` ## `top` table of processes 印出所有process(跟電腦有關的資訊) `q` => 離開介面 ## `cat` Catenate 查看檔案內容 1. 連接檔案 2. 把檔案內容顯示 ## `less` 分頁式印出檔案(更方便閱讀檔案) `q` => 離開介面 ## `grep`** 抓取特定關鍵字 `grep if hello.c` => 抓取在 hello.c 裡面的 'if' 的行 ls | grep ‘要篩選的字串’ ## `echo` 印出所打的字 `echo "hello world"` ## `clear` 清空畫面 ## `>` redirection 重新導向 `echo "Hello" > 123.txt` 將內容 Hello 寫入名為 123.txt 的檔案中,內容會以覆蓋方式寫入。 :::info - `>>` 新增內容到檔案後(不會覆蓋到原本內容) `echo "xyz" >> 123.txt` 將內容 xyz 寫入名為 123.txt 的檔案中,內容以新增方式加在最後。 ::: ## `|` pipe (左邊指令的輸出變成右邊指令的輸入) `cat 123.txt | grep l` 印出 123.txt 之後交給 grep 抓取有 l 的那幾行,並且印出 --- ### 參考資料 [[CS101] 初心者的計概與 coding 火球術](https://lidemy.com/p/cs101-coding) [[第一週] Command Line 基本指令與操作](https://miahsuwork.medium.com/%E7%AC%AC%E4%B8%80%E9%80%B1-command-line-%E5%9F%BA%E6%9C%AC%E6%8C%87%E4%BB%A4%E8%88%87%E6%93%8D%E4%BD%9C-f4da8bcfdfa) [程式自學筆記|終端機Terminal 常用指令練習](https://db35reset.wordpress.com/2021/05/20/ac_s2-3_terminal-2/comment-page-1/)