Command Line Interface (CLI) 超入門


Posted by WenYHsieh on 2021-04-30

什麼是 command line?

命令列,是一種操縱電腦的媒介。

為何需要 command line?

操縱電腦的方式大致上分為兩種:

  1. Command Line Interface (CLI)
    CLI example

  2. Graphic User Interface (GUI)
    GUI example

一般使用電腦的時候我們通常都是透過 GUI,也就是圖形化介面,例如:我們右鍵新增資料夾的動作就是在點按 GUI 來達到跟電腦互動,請他幫我們建立資料夾的目的;而寫程式時有許多工具並不一定提供 GUI,那麼這時候我們就可以透過 CLI 這個方式,利用純文字去操控電腦。


常用的 CLI 指令

  1. Print Working Directory (pwd)
    用於印出目前所在工作目錄 (資料夾)。
    (目前的所在目錄會以 "~" 表示。)

  2. List (ls)
    列出目前所在工作目錄底下的所有檔案。

  3. Change Directory (cd)
    切換資料夾。

    cd fileName => 進入 fileName 這個資料夾 (路徑)
    cd .. => 回到目前資料夾 (第一個點 ) 的上一層資料夾 (第二個點)
    cd 一串絕對路徑 => 將工作目錄直接切換到該絕對路徑
    
  4. touch
    建立檔案或更改檔案時間。

    touch 不存在的檔案 => 會將這個檔案建立到目前的目錄底下
    touch 存在的檔案 => 會將這個檔案的最後修改時間更新到目前的時間
    
  5. Remove (rm)
    刪除檔案。

    rm 檔案名稱 => 刪除該檔案
    rmdir 資料夾名稱 => 刪除該資料夾
    rm -r 資料夾名稱 => 刪掉這資料夾底下的所有東西
    **注意 rm 不可刪除資料夾**
    
  6. Make Directory (mkdir)

    mkdir 不存在的資料夾名稱 => 新建這個資料夾
    
  7. Move (mv)
    移動檔案或改名

    mv 要移動的檔案 要移入的資料夾
    mv 要改名的檔案 要改的檔案名 (一個不是資料夾的東西)
    

    將 text.txt 移動到 test 這個資料夾裡
    move file exp

  8. Copy (cp)
    複製檔案

    cp 要複製的檔案 複製後的檔案
    cp -r 要複製的資料夾 複製後的資料夾
    
  9. Cat
    印出檔案內容
    cat 檔案名稱

  10. grep
    抓出檔案中的關鍵字
    grep 關鍵字 檔案名稱

  11. weget
    下載檔案,會將下載後的結果存到目前目錄底下
    wget 網址
    windows 安裝

  12. curl
    送出 request

  13. redirection
    重新導向,將文字導入到檔案中。
    舉例來說,在 shell script echo 字串,會在 terminal 印出字串
    那麼可以使用指令:echo "hello world" > test.txt,代表將 hello world 這個字串覆蓋整個 test.txt 檔案; 如果只是要 append 到最後方可改成使用 ">>"。

  14. pipe (|)
    組合指令,將 "|" 左邊的輸出當作右邊的輸入,印出結果。
    例如說:cat test.txt | grep "o" > result.txt
    會將 test.txt 的內容傳遞到右邊當作輸入,抓出檔案中的關鍵字 "o",再將結果導向到 result.txt。

其他

clear
清除畫面
其他指令: 指令背後其實是一個程式,當下指令時就是在執行背後的程式,因此我們也能透過下載的方式新增指令。

查詢指令的參數 -> windows 沒有這個指令

使用指令 Manual (man) 可以查詢特定指令有支援的參數及使用方法。

man ls => 對 ls 這個指令做查詢

絕對路徑及相對路徑

絕對路徑就是完整的路徑,以 "/" 開頭
相對路徑就是相對於現在所在的路徑,以 "~" 開頭

Vim 文字編輯器

基本操作
vim 檔案名稱: 進到這個檔案編輯內容
i: 進入插入模式,這個模式之下才能插入文字
esc: 進入普通模式,這模式底下不能插入文字,可以刪除或複製文字。
:q (在普通模式底下): 可以退出檔案,這時候沒有存檔,可按y/n選擇是否存檔。
:wq (在普通模式底下): 存檔後退出。

reference:
Lidemy [CMD101]


#CMD #Coputer Science







Related Posts

筆記、SQL 語法

筆記、SQL 語法

CS50 TCP/IP DNS HTTP

CS50 TCP/IP DNS HTTP

JavaScript-提升hoisting

JavaScript-提升hoisting


Comments