Command line:command line interface 介紹及基本指令


此篇為在程式導師實驗計畫中第一週作業,再稍加修改及加上課程中提到的 command line 基本使用與指令紀錄

首先,一起來認識 command line

command line interface (命令列介面或命令行介面,簡稱 CLI) 相對於 graphical user interface(圖形使用者介面,可以簡稱 GUI),聽起來很複雜,不過其實 GUI 就是我們平常使用電腦時,用滑鼠點擊資料夾,再點擊其中檔案,就可以把這個檔案打開,像是想要建立一個 「wifi」 資料夾,就可以直接在桌面按右鍵,此時會出現新增資料夾的選項,點選後就新增一個新資料夾了,點一下名稱改成「wifi」,就完成建立這個 wifi 資料夾

像這樣用滑鼠在電腦畫面上點選選,執行想做的動作,這就是使用 GUI,而剛剛說 command line interface 相對於 GUI,因為他並不是在一個畫面上,有各種圖示化的選項可以執行想做的動作,他是一個只能用純文字來操作電腦的介面,由於只能用文字,因此會有各種指令,比如:pwd,這樣短短的指令,去和電腦溝通

安裝 command line

大概知道 command line 的用途後,就可以開始使用了,不過在這之前要先確定你的電腦上有 command line,如果你是 mac 系統的話,內建就有 terminal,只要按 command + 空白鍵,然後在搜尋框輸入 terminal,開啟後就可以使用 command line,如果不想使用內建的,也可以搜尋 iterm2 ,在官網下載即可

如果你是 windows 系統,會建議你下載 git bash 來操作 conmmand line,到 Git 官網,點選 download 後就一直下一步就可以安裝完成,安裝完成後找到「Git Bash」開啟,這個就是你的 command line 了,可以在上面輸入指令操作電腦

windows 系統還有另一種可以下載 : Cmder,一樣下載後解壓縮就可以使用,git bash 和 cmder 擇一就好

開始使用 command line !

安裝完成後就可以開始使用了,先介紹最基本的四個指令:

  • pwd: print working directory,印出現在資料夾位置
  • ls: list 列出資料夾內所有檔案,ls -al 會列出更詳細的檔案資訊,ls 後面要記得空白
  • cd : change directory ,切換資料夾,比如 cd .. ,就會回到上一層資料夾,~ 是 /user/xxx 的簡寫,~download ,就會到路徑 /user/xxx/download
  • man: manual 使用說明手冊,以及 clear 把全部的畫面清空 ,ls -a 會找出檔案名稱是 . 開頭的檔案,也就是隱藏檔案,如果沒有用快捷鍵 command + shift + .(dot) 切換就看不到,ls -l 就是以較長的格式顯示檔案,因此 ls -al 就會印出所有檔案與隱藏檔案並以較長格式顯示

檔案操作相關指令

再來介紹檔案操作相關的指令:如何建立資料夾,首先要選定想要新增資料夾的地方,假如是想建在桌面,就要先使用指令 cd desktop,指向要新增資料夾的地方,cd 是切換檔案路徑用的指令
接下來就可以新增資料夾,指令是

mkdir wifi(資料夾名稱)

輸入後 enter 就可以看到桌面上多一個名稱是 wifi 的資料夾,記得先 cd 切換到新建的 wifi 資料夾,接著就可以在裡面新增檔案,新增檔案的指令是

touch afu.js(要新增的檔案名稱)

touch 這個指令顧名思義就是去觸碰一下檔案,這個指令可以用來更改已存在的檔案的最後修改時間,除此之外也可以用來新增檔案,如果 touch 後面接的是不存在的檔案名,就會直接幫你新增此名稱的檔案!

如果想刪除檔案,可以輸入

rm  <檔案名稱>

rm 就是 remove 的意思,如果想刪除的是資料夾,可以使用 rmdir,也可以輸入 rm -r <要刪除的檔案> , 補充:指令中的 -f 會強制執行,有些檔案會有保護機制,要執行動作時會確認兩次,若加上 -f 就不會確認,-r 會把要刪除的資料夾以及裡面的檔案都刪除

mv:move ,移動檔案或更改檔案名,移動時可以輸入絕對路徑或相對路徑,絕對路徑就是有 / ,例如 /user/xxx/download,相對路徑就是直接輸入資料夾名,或 回到上層也是相對路徑,當輸入 mv <要移動的檔案> <不存在的檔案名>,就會將檔案名稱改成那個原本不存在的檔案名稱,因此 mv 也可以用來更改檔案名

cp:copy 檔案,如果是複製資料夾的話可以使用 cp -r <要複製的檔案> <複製的檔案名>

其他好用指令

  • grep: 抓取關鍵字,可以用於較多內容時快速找到想找的地方,grep <關鍵字> <檔案名>
  • wget: 內建沒有因此必須另外下載,我自己是到 Homebrew 下載,輸入 brew install wget 後開始安裝,不過有碰到錯誤訊息 Error: Permission denied @ apply2files - /usr/local/lib/node_modules/gulp/node_modules/extglob/lib/.DS_Store ,雖然看起來有錯誤沒安裝成功,不過後來測試指令都有執行成功,不確定錯誤訊息是什麼意思 XD (有重複的檔案衝到(?))
  • redirection: 重新導向 >,例如:ls-al > test.txt,印出檔案詳細資訊並把它導向(儲存)到 test.txt 這個檔案去,或是 echo '123' > test.txt,就會先在 cmd line 印出 123 ,再存到 test.txt 這個檔案裡,這時候如果再執行 echo "456" > test.txt ,就會直接覆蓋剛剛的 123 的內容,如果是要增加內容,就要使用 echo "456" >> test.txt,這樣才會新增內容並保有原內容
  • pipe |:可以連續執行超過一個指令,像水管一樣連接指令,例如:cat index.html | grep header | > header.txt,就是瀏覽 index.html 並抓出有 header 的行數並儲存到 header.txt 檔案中

在 command line 上輸入的指令都是一個個程式,寫好在裡面,因此輸入指令就是呼叫這個程式執行動作 ,也可以建立自己的指令就可以在 command line 使用自己的指令

總結

最後再複習一次 command line 是什麼,要如何使用,達成想要執行的動作

  • command line 是一個用純文字下指令操作電腦的一個視窗(工具)
  • 若是 mac 系統內建就有(不想用內建的也可以下載 iterm2),windows 系統可以選擇下載 git,就會有 git bash 這個應用程式,或是選擇下載 cmder 也可以,擇一下載即可
  • 基本四指令:pwd :印出目前所在位置、ls :列出資料夾中所有檔案、cd :切換到要前往的資料夾、man : 查詢指令功能說明
  • 檔案操作:cd desktop,切換到想新增資料夾的地方(這裡假設資料夾新增在桌面),mkdir wifi,新增名稱為 wifi 的資料夾,touch afu.js,新增名為 afu 的 js 檔
  • 其他檔案操作:刪除檔案:rm、移動/修改檔案:mv、複製檔案:cp
  • 其他好用指令:grep:搜尋關鍵字、wget:下載檔案、重新導向:>、連接指令:

參考來源

[CMD101] Command Line 超新手入門

#command line






你可能感興趣的文章

Debounce 與 Memoize

Debounce 與 Memoize

NoSQL, Transaction, ACID and Lock

NoSQL, Transaction, ACID and Lock

[進階 js 12] Event Loop

[進階 js 12] Event Loop






留言討論