# 任務四、Commandline 新新手入門 ###### tags: `Codeshiba` [必讀教材-Codeshiba_Command Line 常用指令介紹](https://codeshiba.teachable.com/courses/1117625/lectures/23940105) [必讀教材-命令列怎麼下?](https://www.youtube.com/watch?v=o3g9srDJHbI&t=3s&ab_channel=%E7%A8%8B%E5%BC%8F%E6%9F%B4CodeShiba) [擴充教材-Command Line - Terminal、基本指令介紹_by Yakim Hsu](https://yakimhsu.com/project/project_w1_CommandLine.html) [擴充教材-Mac OS X Terminal 終端機常用語法教學](https://www.minwt.com/mac/14653.html) [經典教材 Linuxcommand](https://linuxcommand.org/) ## 為什麼要學習Command Line? 1. command line效果會比圖形介面還要有效率,不用上網找 2. 圖形介面會改版,原有的熟悉感就會不見;文字不會 ## 環境準備 terminal | 終端機 可以透過文字見面安裝軟體、創造資料夾與其他事情 Commandline是一種Shell,用來跟系統程式做溝通的 ## 常用指令介紹 Commandline Cheatsheet Example: https://www.git-tower.com/learn/cheat-sheets/cli/ https://www.git-tower.com/blog/command-line-cheat-sheet/ ![](https://i.imgur.com/6cTk6G2.png) ## 常用指令範例 cd=change direction ```常用指令 cd + 資料夾名稱或檔案 | 前往指定資料夾 ``` ``` cd.. | 回到上一層 ``` ``` dir | 跑出轄下所有路徑 ``` ## 工具介紹 ### TL;DR | 迅速查詢不認識的指令 Too Long didn't Read | 太長了不想讀 透過Bash直接安裝即可,輸入: ``` sudo apt install tldr ``` ![](https://i.imgur.com/4M3DV6W.png) ![](https://i.imgur.com/z8Io2iw.png) 透過cmder安裝,則可直接輸入: ``` npm install -g tldr ``` ![](https://i.imgur.com/CMIaYUh.png) ![](https://i.imgur.com/fYofNDL.png) ### Cmder 可以讓Mac Linux和Windows指令互通的工具 **超好用der** https://cmder.net/ ### Node.js ``` npm -v ``` 可以得知版本資訊為6.14.8 ## hexo https://hexo.io/zh-tw/ npm install hexo-cli -g hexo init blog cd blog npm install hexo server ## Commandline 的基本介紹 GUI Graphical User Interface 圖形化介面 CLI Command line Interface ### 常用指令 ``` pwd ``` 代表顯示現有位置 ![](https://i.imgur.com/BJjtlE8.png) ``` ls ``` 列出現在資料夾的東西 ![](https://i.imgur.com/sGDLR0G.png) ``` touch helloworld.txt ``` 新增一個檔案 ![](https://i.imgur.com/hX8fspG.png) ``` ls -l ``` 可以看得到檔案名稱和擁有者和建立時間 ![](https://i.imgur.com/JnTKXO6.png) ``` ls -a ``` 可以看到所有的隱藏檔案 ![](https://i.imgur.com/glQsGV8.png) ``` ls--help ``` 可以列出所有說明指令 ![](https://i.imgur.com/UbHcZ9T.png) ``` help ``` 看到基本的協助訊息 ![](https://i.imgur.com/x5mdz5h.png) ``` q ``` 退出特定頁面或程序 **好像不能用?** ``` 方向鍵上下 ``` 可以讀取填寫過的指令 ``` vim 檔案名稱 ``` 讀取並開始編輯檔案 ![](https://i.imgur.com/6MBgfWt.png) ``` cat 檔案名稱 ``` 顯示檔案內容 ![](https://i.imgur.com/yNETbnT.png) ## 如何離開/移動到另一個地方 ![](https://i.imgur.com/78aBKne.png) ``` cd .. ``` 回去上一個level ![](https://i.imgur.com/Tgu4vCT.png) ``` cd../.. ``` 回去上兩個level ![](https://i.imgur.com/n6FVU1z.png) ``` cd ~ ``` ``` cd ``` ``` cd - ``` ![](https://i.imgur.com/diPcwYt.png) 回到上一個路徑 **(但我不能用><!!)** ### 通常會使用user的資料夾來當作開發的資料夾,以免汙染到其他的資料夾 ## 如何新增一個資料夾 ![](https://i.imgur.com/tRCgyrD.png) ``` mkdir 檔案名稱 ``` 新增一個資料夾 ![](https://i.imgur.com/7NLs0lp.png) ## 刪除一個資料夾 ![](https://i.imgur.com/rPyw57L.png) ``` rmdir 資料夾名稱 ``` 刪除一個資料夾(名稱為-p的資料夾) ![](https://i.imgur.com/ooIF7GN.png) ## 刪除一個檔案 ![](https://i.imgur.com/7wFjq9S.png) ``` rm- rf ``` 強制刪除(連帶下屬所有檔案都會被刪除) ![](https://i.imgur.com/A19octv.png) ## 複製檔案 ![](https://i.imgur.com/8RbPznh.png) ``` cp 欲複製的檔案名稱 創立的檔案名稱 ``` 複製並設定檔案名稱 ![](https://i.imgur.com/AMJYqQj.png) ## 移動檔案 ![](https://i.imgur.com/s2ppRhF.png) ``` mv 欲移動的檔案名稱 目的地 ``` 移動特定檔案至目的地 ![](https://i.imgur.com/naaQq8B.png) ``` mv 欲更改名稱之檔案 改名後的檔名 ``` mv還可以用來改名稱 ![](https://i.imgur.com/7y2tpwV.png) ## 讀取檔案 ![](https://i.imgur.com/uPM18e1.png) ``` head 檔案名稱 ``` 從前面讀取約十行的資料內容 ``` tail 檔案名稱 ``` 從後面讀取約十行的資料內容 ![](https://i.imgur.com/vwQ87dp.png) ``` tail -f ``` 如果資料會持續更新,則可透過該指令持續追蹤最新新增的資料 ## 額外指令 ![](https://i.imgur.com/xIs3tlj.png) ![](https://i.imgur.com/D7nrRk9.png) ``` date ``` 顯示日期 ![](https://i.imgur.com/vSlrs8O.png) ``` who ``` 顯示使用者名稱,但好像沒用阿!! ![](https://i.imgur.com/CeirHMZ.png) ``` whoami ``` 顯示我的名字 ![](https://i.imgur.com/5IixtN7.png) ``` clear ``` 可以清除cmd螢幕上的所有資訊 ![](https://i.imgur.com/5FHDifv.png) ``` history ``` 可以看我輸入過的所有指令 ![](https://i.imgur.com/yJB0a3S.png) ``` !! ``` 可以再進行一次上個指令 ![](https://i.imgur.com/fEXyBTg.png) ``` exit ``` 終止cmd,直接跳出