有了 WSL 後,就可以開始學習一些基本的 Linux 指令了。這篇文章的面向是給「使用 WSL 的 Windows 使用者」,所以不會講得太難。
鐵人賽第二天,昨天你應該已經成功設定好 WSL 了。今天要介紹一些簡單的概念和指令。
首先和 Windows 指令一樣,cd
可以用來切換資料夾。例如要切換到根目錄的話:
cd / # 切換到根目錄
cd home # 切換到 home 資料夾
首先你打開 wsl 後,預設應該會在你的使用者目錄(家目錄),預設會是在 /home/[使用者名稱]
,像我的可能會在 /home/noob
的地方。另外因為會常常回到自己家目錄,所以可以用 ~
來代表自己的家目錄,例如這兩個意思是一樣的:
cd /home/noob
cd ~
還有一個資料夾會常去:/etc
,這是一個用來存放設定檔的地方。例如網路設定檔可能會放在 /etc/network
、而 /etc/nginx
裡面會存放 nginx 的設定檔(後面會介紹這個套件)等等。未來如果有安裝什麼套件要改什麼設定檔,都可以來這裡找找看。其他大部分的東西都會在 Windows 上操作,所以就先不特別講了。
最後是 /mnt
,你只要知道 WSL 預設會幫你把 Windows 的 C: 槽掛在 /mnt/c
、D: 掛在 /mnt/d
。例如如果你在 Windows 桌面開一個 project1
資料夾,在 WSL 中就應該會在 /mnt/c/Users/noob/Desktop/project1
。
就像在 Windows 上一樣,安裝某些軟體的時候可能需要按右鍵,以系統管理員身份執行。或是某些在 C:\Windows\System32 等資料夾,使用者是沒有權限去移動檔案,必須以系統管理員身份執行(按下跳出來的 UAC 視窗的同意按鈕)。在 Linux 中也有類似的做法。例如在 /etc
裡面預設是只有管理員有權限移動的、安裝套件時也需要以系統管理員身份執行。
而以系統管理員身份執行時,Windows 實際上會用 Administrator
這隻帳號去執行。Linux 也有類似的概念,當以系統管理員身份執行時,實際上用了 root
這隻帳號。
舉個簡單的例子,用 whoami
指令可以知道現在用哪隻使用者:
whoami // 會輸出你的使用者名稱(如 noob)
sudo whoami // 會輸出 root
在 Linux 系統中有個好用的套件管理工具叫 apt-get。apt-get 會維護一份官方的「軟體清單」,只要有在軟體清單內的套件,都可以透過指令直接安裝、更新;而透過 apt-get 安裝的套件也可以直接透過指令移除。常見的幾個 apt-get 指令如下:
apt-get update
:更新軟體清單。通常會建議每次要安裝套件前都執行一次這個指令,以確保你安裝到最新的套件。apt-get install [xxx]
:安裝某個套件。apt-get remove [xxx]
:移除某個套件。但別忘了安裝套件是需要管理員權限的,所以你必須使用 sudo
指令才能安裝。下面這個例子可以協助你安裝 git 管理工具:
sudo apt-get update # 更新軟體清單
sudo apt-get install git # 安裝 git
到這邊你應該已經可以順利使用 WSL 下的 Linux 指令了,但是這邊再補充幾個常見的檔案處理指令,雖然這些東西都可以在 Windows 檔案總管中操作,但是未來在伺服器上還是會用到,先熟悉起來會比較方便。
mkdir
可以用來新增資料夾:
mkdir folder1 # 建立 folder1 資料夾
mv
可以用來移動檔案或重新命名檔案:
mv /mnt/c/Users/noob/Desktop/noob.zip ~/noob.zip
# 將 Windows 桌面的 noob.zip 移動到 Linux 家目錄
mv noob.zip noob_new.zip
# 將 noob.zip 改名成 noob_new.zip
cp
可以用來複製檔案或資料夾。
cp noob_new.zip folder1/noob.zip
# 將 noob_new.zip 複製到 folder1 資料夾中
cp -r folder1 folder2
# 複製 folder1 資料夾到 folder2,資料夾要加 -r 選項
ls
則可以用來看資料夾下面有什麼檔案。
ls # 查看資料夾內的檔案
ls -l # 查看資料夾內的檔案和詳細資料
ls -al # 查看資料夾內的隱藏檔案和詳細資料
OK,簡單指令先講到這邊,打完收工。明天會講如何讓你的指令介面長得很炫泡變得更好用,敬請期待!
本篇文章同步發表在 Noob's Space。