第一步:打開 Shell
在開始使用 Linux 指令之前,首先要打開 Shell,這是一個輸入指令與電腦溝通的地方。
- Windows Shell
- 打開 WSL
- Mac Shell
- 打開 Terminal 或 終端機
- Linux
- 打開 Bash
小提醒
- 按 方向鍵 ⬆ ⬇
- 搜尋用過的指令
輸入 Ctrl + R,然後輸入文字進行搜尋。如果找到的結果不是你要的,可以再按 Ctrl + R 繼續往前搜尋。如果按 Ctrl + R 往前太多次,想要往後,可以輸入 Ctrl + S。
- 想把所有的 Linux 指令記住是不可能的
只需要查找需要用的指令,夠常用的指令自然會記住。
一、Navigation:如何瀏覽和在不同位置遊走
1.印出目前所在位置 (print working directory)
pwd
2.打開目前的資料夾 (mac)
open .
3.打開目前的資料夾 (Windows)
.
代表所在位址
如果想開起其他資料夾,可以輸入其他路徑
explorer.exe
4.打開根目錄 (Mac)
open /
5.打開根目錄 (Windows)
explorer.exe /
6.列出所在資料夾的檔案
在 Linux 系統中,檔名開頭為.
的就是隱藏檔案 (Linux 跟 Windows 一樣,存在著隱藏檔案)
ls
7.列出所在資料夾的檔案 (包含隱藏檔案)
ls -a
8. 列出所在資料夾的檔案 (包含詳細資訊:會顯示權限、檔案大小、檔案被修改的日期等等)
ls -l
9.列出所在資料夾的檔案 (同時顯示所有檔案的 詳細資訊 + 隱藏檔)
選項不只有一個,可以混合一起使用
ls -la
9.列出指定路徑下的檔案 (可以看到"根目錄"下面的檔案)
# 語法: ls <檔案>
ls /
10.查詢某個指令的用法 ( 例:ls 這個指令的詳細文件,也可以看到所有的參數選項)
# 語法: man <指令>
man ls
如果想對任何指令有更深入的了解,可以進入 man page 後,用方向鍵控制上下,按 Q 離開。
二、移動到其他目錄 (使用 cd 指令)
- 進入指定路徑 (change directory)
語法:cd <路徑>
可用 ls 看桌面有什麼資料夾。假設桌面有一個 test 資料夾,如果要進去資料夾裡,就 cd test (如下)
cd test
- 這時候使用 pwd 看,就會發現你現在的位置目前在 test (目前所在的位置)
pwd
- 回到上一層目錄
cd ..
* 相對路徑與絕對路徑
- 相對路徑:根據你目前所在的位置而改變。
使用 pwd 看到的路徑,就是「絕對路徑」
/Users/tony (使用者為 tony)
- 絕對路徑:不管你在哪裡,都是永恆不變的路徑,通常以
/
開頭。
cd /Users/tony/test
三、File (對檔案進行操作)
- 建立資料夾 (建立一個 my-floder 的資料夾)
語法: mkdir <資料夾名稱>
mkdir my-floder
- 查看檔案內容
現在 my-floder 資料夾裡,有一個檔案叫 123.txt,檔案內容輸入 123123 (手動自己建檔案)
語法: cat <檔案名稱>
cat 123.txt
- 複製檔案 (Copy的縮寫。例如:想要複製123.txt,複製的檔案叫做 456.txt)
相對路徑 跟 絕對路徑 都可以用
語法: cp <來源> <目的>
cp 123.txt 456.txt
- 複製資料夾 (複製資料夾,包含裡面的檔案)
要在 桌面 做才行 (或是放 my-floder 的地方)
語法: cp -r <來源> <目的>
cp -r my-floder my-floder2
- 刪除檔案 (要進去 my-floder 資料夾裡面)
相對路徑 跟 絕對路徑 都可以用
語法: rm <檔案名稱>
rm 123.txt
- 刪除資料夾 (跟 複製資料夾cp 一樣,要加上 -r 的選項)
要回去桌面刪除 (看你放在哪裡)
有時候會跳出權限問題
語法: rm -r <資料夾名稱>
rm -r my-floder2
- 強制刪除資料夾 (跳出權限問題,想跳過確認訊息)
千萬不要刪掉系統必須的檔案,不然電腦就無法正常運作
語法: rm -rf <資料夾名稱>
rm -rf my-floder
- 移動檔案 (剪貼,mv => move 的縮寫)
等於平常 常用的剪下、貼上功能 (可以使用絕對路徑)
例如:把 123.txt,移到 f1 裡面 (f1為自創資料夾 => 需要自己再創一個資料夾,叫 f1)
語法: mv <原路徑> <新路徑>
mv 123.txt f1
- 重新命名檔案
例如:把 456.txt,重新命名為 654.txt
語法: mv <原檔名> <新檔名>
mv 456.txt 654.txt
四、Vim (文字編輯器)
- 用 Vim 打開檔案
就算輸入不是實際存在的檔案/檔名,一樣可以打開,只要存檔,檔案就會出現 (就像先打開 記事本,編輯完後,再 另存新檔 的意思一樣)
語法: vim <檔名>
vim 654.txt
Vim 有兩種模式
- 普通模式 (Normal mode)
- 使用各種指令操作。
- 輸入模式 (Insert mode)
- 使用一般習慣的方式來編輯文字。
進入和退出模式
- 剛進入 Vim 是「普通模式」,按
i
進入「編輯模式」(INSERT)。 - 按
esc
回到「普通模式」。 - 在「普通模式」下,輸入
:q
並按 Enter 關閉檔案。 - 在「普通模式」下,輸入
:w
存檔,再輸入:q
關閉檔案。 - 同時存檔並關閉,輸入
:wq
。 - 強制關閉不存檔,輸入
:q!
。
其他操作
- undo & redo
- 按
u
進行 undo。 - 按
Ctrl + R
進行 redo。
- 按
- 複製、貼上
- 按
yy
複製一整行。 - 按
p (小寫)
往下貼一整行。 - 按
P (大寫)
往上貼一整行。
- 按
- 剪下
- 按
dd
剪下一整行。
- 按
- 搜尋文字
- 按
/
並輸入文字進行搜尋。 - 按
n
跳到下一個結果。 - 按
N
跳到上一個結果。
- 按
- 顯示行數
- 按
:set nu
顯示行數。
- 按
- 跳到最上方 & 最下方
- 按
gg
跳到文件最上方。 - 按
G (大寫)
跳到文件最下方。
- 按
- 往上/下跳一個 Block
- 按
{
向上一個 Block。 - 按
}
向下一個 Block。
- 按
- 往前/後跳一個 Word
- 按
W (大寫)
往後跳一個單字。 - 按
B (大寫)
往前跳一個單字。
- 按
- 跳到行頭、行尾
- 按
0
跳到行頭。 - 按
$
跳到行尾。
- 按
- Macros
- 按
q
,再隨意按一個英文字母開始錄製。 - 做完一連串操作後,再按
q
結束錄製。 - 按
@
(加錄製的英文字母) 重播錄製動作。 - 想多次重播,輸入次數加
@
,例如5@i
。
- 按
- 更多 Vim 指令教學
- 按
:help tutor
進入教學。
- 按
五、Package manager (安裝工具)
- Mac
brew install <軟體名稱>
- Ubuntu
apt install <軟體名稱>
- Manjaro
pacman -S <軟體名稱>
六、實際應用場景
為什麼要學習這些指令?
提供三個使用情境:
- SSH
- 使用 SSH 操控遠端 server。
- SSH 是文字介面版的遠端桌面,沒有圖形化介面,需要全程使用指令來操控電腦。
- Docker
- 使用 Docker 確保執行作業系統或環境正確。把全部需要的東西包在一起,變成 Docker image,在部屬時簡單包起來。
- CI/CD
- 持續整合和部署。對程式碼進行變更,觸發自動化測試,檢驗改動部分,確保程式碼正確部屬。