# 那些我希望能早點知道的事2 ## 談談Command Line 靜心高中創客社 侯以樂 [簡報連結](https://slides.com/hhe1ibeb/deck-529d8a) --- ## 什麼是Command Line? 回想一下你看過的駭客電影,程式高手都會在一個黑黑的框框打一堆觀眾看不懂的英文,按下enter後就會跑出更多看不懂的東西。 Command Line 就是我們和電腦進行溝通的方式。 ---- Command Line (命令行) 是一個純文字的應用程式,可以查看、處理電腦中的檔案。 ---- ### GUI vs. CLI GUI(Graphical User Interface)圖形使用者介面 - 我們平常用滑鼠點點點的 CLI(Command Line Interface)命令列介面 - 其實是GUI背後在運作的東西 #### 為什麼不用好用的GUI要用難懂的CLI? 1. 有些時候CLI可以更快達成目的 2. 有些功能只能靠CLI達成 --- ## 打開Command Line Windows: 搜尋cmd MacOS: 打開terminal app ---- 說到這裡,打個廣告 如果你是Mac使用者 非常推薦你們用這個Terminal - [Warp](https://app.warp.dev/referral/3D436V) [![](https://hackmd.io/_uploads/S1pjYSAl6.png) ](https://app.warp.dev/referral/3D436V) --- ## 基本指令 ### whoami(Who am I) * 告訴你你是誰 * 就是檢視你的用戶名稱 ![](https://hackmd.io/_uploads/rkHR2HCe6.png) ### ls(list) * 列出所有檔案和路徑 ![](https://hackmd.io/_uploads/S16J6HCea.png) #### 一些小小的變化型 1. 列出隱藏的目錄:`ls -a` 2. 列出詳細資料:`ls -l` 3. 包上述兩個:`ls -la` 4. 列出 .js 的檔案:`ls *.js` ### pwd(print working directory) * 告訴你你在哪 * 顯示目前路徑 ![](https://hackmd.io/_uploads/HyOWaHCe6.png) ### cd(change directory) * 切換目錄 * 寫法: `cd [目標]` ![](https://hackmd.io/_uploads/H1oM6B0e6.png) #### 一些小小的變化型 1. 回到 home 目錄:`cd ~` # 屬於使用者底下的資料夾 2. 回到根目錄:`cd /` # 電腦最底層 3. 回到上一層資料夾:`cd ..` #### 小訣竅 1. 當輸入 cd + 空格 時,按 tab 會幫你自動列出底下的資料夾列表 (=輸入 ls) 2. 輸入前幾個字母,再按 tab 會幫你自動補完資料夾名稱 ### clear * 字面上的意思:清空 ### exit * 關閉 Terminal ## 檔案操作 ### mkdir(make directory) * 建一個新的資料夾 * 寫法:`mkdir [資料夾名稱]` * ex: `mkdir waaa` ![](https://hackmd.io/_uploads/ryx7k8Rga.png) ### rm (remove) * 刪除檔案 :::warning 這邊的刪除是直接刪除,也就是不會進到垃圾桶中,請小心使用!!! ::: #### 變化型: 1. `rmdir` (remove directory):刪除空資料夾,若資料夾內有檔案就無法刪除 2. `rm -rf` :刪除整個檔案或整個資料夾 #### 小訣竅 * 當刪除的檔名有空格或特殊字元時可使用單引號將檔名括起來: `rm '檔名'`。 ### mv(move) #### 作用一:移動檔案 * 寫法:`mv [檔名] [路徑]` ##### 相對路徑和絕對路徑 * 相對路徑:mv file folder #以 desktop 為 home 目錄。 * 絕對路徑:mv file /Users/miahsu/desktop * 檔案移動到上一層,就必須使用絕對路徑的寫法 #### 作用二:改檔名 * 寫法:`mv [原檔名] [新檔名]` ### touch * 碰一下檔案 * 寫法:`touch [檔名]` * 如果檔案不存在:建立一個新的檔案。 * 如果檔案存在:更改檔案修改時間。 ### cp(copy) * 複製檔案 * ex: `cp file01 file01_copy` ### echo * 印出字串 ### cat(catenate) * 顯示檔案內容 ### grep * 抓取特定關鍵字,並高亮顯示(有分大小寫)。 * 寫法:`grep 字串 檔名` * ex: `grep a test2.txt` ### wget * 下載檔案至當前目錄。 :::warning 不是每台電腦都有的指令,可以透過 Homebrew 進行安裝 ::: * 安裝指令:`brew install wget` * 寫法: `wget [圖片網址]` ## 小挑戰 1. 建立一個資料夾 data 2. 建立一個檔案,存在 /data/test.txt 3. 建立一個資料夾 copy 4. 複製上面 test.txt 的檔案,存在 /data/copy/test2.txt 5. 刪除 copy 資料夾
{"title":"Command Line","description":"靜心高中創客社 ㄏㄡ","contributors":"[{\"id\":\"638984a0-bb88-47ff-a6ff-183ffa3fdfdd\",\"add\":3127,\"del\":683}]"}
    240 views
   Owned this note