本篇為 [CMD101] Command Line 超新手入門和 [CS101] 初心者的計概與 coding 火球術 這兩門課程的學習筆記。
學習目標:
說得出程式如何執行
理解寫程式的本質只是一行行的指令
了解前端與後端的區別
能說出從發出一個 request 到接收 response 中間發生的事
了解不同載具的差異在哪(Desktop、Mobile、Web)
了瞭解基本的 command line 指令
了解 Git 在做什麼,以及為何我們需要 Git
知道 add、commit、push、pull 等基本 Git 指令
知道怎麼使用 branch 並送出 Pull Request
熟悉 Git Workflow(也就是交作業的流程)
就是對電腦下指令(程式碼),讓電腦執行我們想要的動作(解決問題)。
試著用「程式化思考」將解法以標準化的格式呈現。
範例:「給你一串文字,問你裡面有沒有 p」
1. 假設 n 是 1,length 是字串長度,
A 設成 -1 代表找到的位置,p 是要找到的字 //字串不會有負數,若小於零代表找不到
2. 看第 n 個字是不是 p,是的話 A=n //把 A 設成 n 的值,若 n=3,即在第 3 個數找到 p
3. 把 n+1,如果 n+1 大於 length 的話,就跳到第 5 步 //條件機制
4. 跳回第 2 步 //迴圈的概念
5. 如果 A < 0,代表沒出現過;否則 A 就是答案
- 操控電腦的方法大致上分兩種類型:
- GUI(Graphical User Interface,圖形化介面):一般習慣使用的電腦操作介面,透過設計出的「圖形」來下指令。
- CLI(Command Line Interface,命令列介面):透過「純文字」來達成指定動作。
- 兩種都可以用來和電腦溝通;但有些伺服器可能沒有 GUI (例如 database),這種情況就只能使用 CLI 來進行操作。
- 要執行 Command Line 指令,必須先根據作業系統安裝 Command Line Tool:
- 或是使用 JSLinux (以 JavaScript 寫成的 Linux 模擬器)來統一環境,即可在瀏覽器介面進行測試。
所謂的「指令」其實也是由程式寫成,我們藉由輸入指令來執行程式。
ls-l
:長格式(long),顯示有關檔案的詳細資訊ls-a
:列出所有檔案(包括隱藏檔)
cd ..
:回到上一層資料夾cd ~
:回到 home 目錄(我的文件)cd /
:回到根目錄- 絕對路徑:「一定由根目錄 / 寫起」
cd /Users/share/data
- 相對路徑:「不是由 / 寫起」
cd test
- 絕對路徑:「一定由根目錄 / 寫起」
- 範例:「若要從 /downloads/test/data 到 /downloads/test/media 底下時」
可以寫
cd ../media
:先回到上一層,再進入 media 資料夾 也可寫cd ~/downloads/test/media
:直接用絕對路徑進入
小技巧:直接把圖形介面的資料夾拖到 CLI 裡,就會自動輸入那個資料夾的絕對路徑。可節省打字時間。
- 作用 1:touch 現有的檔案,會修改檔案時間成當前時間
- 作用 2:若檔案不存在,則會新增檔案
- 也可用
rm -r
指令來刪除檔案或資料夾
- 範例 1.
cp data data_2
:複製出一個 data_2 檔案 - 範例 2.
cp -r deep deep2
:複製出一個 deep2 資料夾
- 作用 1:當找到該資料夾時,檔案會移到資料夾裡
- 範例:
mv data folder
:將 data 檔案移到 folder 資料夾裡
- 範例:
- 作用 2:當找不到該資料夾,則會更改檔案名稱
- 範例:
mv data test
:將 data 檔案名稱更改為 test
- 範例:
本來想說沒問題,結果還真的卡很久無法回到上層介面 Orz 需按下 [ESC] 按鍵回到一般指令模式,才能下
:wq
指令存檔(write)並離開 (quit)。
可分為普通模式跟編輯模式:
- 按鍵 i:進入編輯模式
- 按鍵 Esc:進入普通模式
:q
退出:wq
存檔(write)後退出(quit):q!
不存檔直接退出
參考資料:
- 範例:
cat file.txt | grep hi
:從印出的 file.txt 內容中,抓取字串 hi 並輸出
-
範例 1:
date > time.txt
:將date
輸出到time.txt
再輸入cat time.txt
,會顯示出Sun May 31 20:29:57 UTC 2020
-
範例 2:
echo "123" > 123.txt
:印出 123 到 123.txt 1. 若輸入echo "456" > 123.txt
:顯示 456,檔案會被全部覆蓋 2. 若輸入echo "456" >> 123.txt
:顯示 123456,兩個>
會新增內容在最後
- 範例:輸入
wget https://www.google.com.tw/
,即可下載 Google 首頁的網頁原始碼(index.html)
- 內容是一回事,如何解讀是另一回事
- 在電腦裡的任何檔案,其實都是以純文字組成,可用不同格式進行解析
- 可以透過設定副檔名(如:文件.pdf、圖片.jpg)幫助電腦辨別格式
參考資料: