簡介
CLI 為用文字命令操控電腦的一種方法
操控電腦的方法:
- Graphical User Interface (GUI) 圖形化使用者介面:使用滑鼠點擊圖像來執行命令,通常較直觀。
- Command Line Interface (CLI) 命令列介面:使用鍵盤輸入文字來執行命令。
什麼時候使用 CLI?
- 當受限於環境無法使用 GUI 時
- 想要減少系統耗能時
- 希望可以自動執行命令時
參考資料:
GUI or CLI 比較
前置作業
文字指令
最基本的指令
PWD
- Print working directory
Ls
List
- 印出資料夾下的檔案
ls -al
show a long listing of all files in the current directory- ls -l (use a long listing format) and ls -a (do not ignore entries starting with .)
cd
- change directory 切換資料夾
- CD後面加空格「兩點」可以回到上一層資料夾
clear
- 淨空畫面
man
- manual 指令使用手冊
檔案操作相關指令
Touch
- 修改檔案時間 & 建立檔案
- 在touch後面接檔案名稱,若檔案名稱不存在,則會新增該檔案;若檔案名稱存在,則會修改檔案時間
(可用ls加參數,去查看檔案最後修改時間或是否有被新增)
rm
- remove
- 刪除檔案
- 若該檔案/資料夾有被保護,可能在刪除時跳出提示確認是否要刪除,可用rm -f來取消提示,或用rm -r(大小寫皆可以)直接刪除。
>
rm -r command deletes the folder recursively, even the empty folder.
rm -f command removes ‘Read only File’ without asking.
rm -rf / : Force deletion of everything in root directory.
rm -rf * : Force deletion of everything in current directory/working directory.
rm -rf . : Force deletion of current folder and sub folders.
mkdir
- make directory
- 建立資料夾
mv
= move
- 移動檔案、更改檔案名稱
- mv 想要移動的檔案 移動後的位置
- mv 想要更名的檔案 檔案的新名稱
- 絕對路徑:絕對位置,以/開頭的
- 相對路徑:相對位置,在同個資料夾下可以不加/直接搜尋該資料夾,若加了/則找不到該檔案,因它不存在於根目錄中,/後需要打完整的路徑名稱才搜尋的到。
cp
= Copy
- 複製檔案、資料夾
- cp 被複製的檔案 複製的檔案
- cp -r 被複製的資料夾 複製的資料夾
cat
- 用來連接檔案用,若只放一個檔案,可以看檔案的內容
- 連接檔案時,可以將內容輸出到另一個檔案中:cat file1 file2 > file3
文字編輯器 - Vim
vim
欲編輯的檔案名稱
- 看檔案內容、做修改、不用開檔案編輯器去編輯檔案(少開一個程式、若該電腦沒安裝文字編輯軟體時、server沒有文字編輯app可使用時)、
- i=insert:可以開始打字(按esc可退回普通模式:僅可複製刪除等,不成插入文字)
- 在普通模式中可以跳出去,打(按住shift再按:):q
- :wq (write and quit):儲存檔案後再離開
- 其他指令
- :q 不保存,直接退出
- :q! 不保存,並強制退出
- :e! 放棄所有修改,從上次保存文件開始再編輯
- :w 保存文件,但不退出
- :w! 強制保存,不退出
- :wq 或 :x 保存,並退出
- :wq! 強制保存,並退出
其他好用指令
Grep
- 抓取關鍵字
- grep 想要抓的字 檔案名稱
Wget
- 下載檔案、網頁原始碼用,不是內建指令,需安裝
- weget 欲下載檔案網址
- 下載完後,可以用open指令打開
Curl
- 送出request、測試API用
- curl 網址:送出request後會得到reponse
- curl -I:Fetch the HTTP-header only!
date
- 出現日期
uptime
- 查看電腦開機多久了
tail
- 顯示檔案最後面的內容
指令的組合技
Redirection
- 重新導向 input output
- [>] 把結果輸出到另一個檔案中,覆寫檔案內容
- [>>] 新增內容
|
pipe
- 把左邊指定的輸出變成右邊指定的輸入
參考資料
APP 開發基礎講義