https://micro.rohm.com/tw/deviceplus/wp-content/uploads/2023/11/what-is-raspberrypi_01_2.jpg https://micro.rohm.com/tw/deviceplus/wp-content/uploads/2023/11/what-is-raspberrypi_01_2.jpg

這是「跟我一起玩樹莓派」系列的第一篇。這個系列會帶你從完全不懂 Linux,一步一步打造自己的家用伺服器。

為什麼要學 Linux?

買了樹莓派,開機之後面對黑黑的終端機畫面,不知道要打什麼 — — 這是很多人的第一個障礙。

但其實 Linux 的基本指令不多,學會二三十個就能應付日常操作。這篇文章會帶你從頭學起,每個指令都搭配實際的例子,讓你在樹莓派上邊做邊學。

你需要準備什麼

  • Raspberry Pi(任何型號都可以)
  • MicroSD 卡(建議 32GB 以上)
  • 電源線
  • 一台電腦

樹梅派我是從大陸的微雪電子購入,價格很優惠而且有很多相關套件可以買。

先去官網下載 Raspberry Pi Imager,把 Raspberry Pi OS 燒錄到 SD 卡。燒錄時記得在設定裡:

  • 開啟 SSH
  • 設定 Wi-Fi 帳號密碼
  • 設定使用者名稱和密碼

這樣開機後就可以直接從電腦連線,不需要接螢幕。

第一次開機

把 SD 卡插進樹莓派,接上電源,等待約 1 分鐘讓系統啟動。

到路由器管理頁面,或用以下指令找到樹莓派的 IP:

# Windows 在命令提示字元輸入
ping raspberrypi.local
# 或是去路由器查看連線設備清單

找到 IP 之後,接下來就可以 SSH 連線了(下一篇會詳細介紹),但這篇我們先專注在 Linux 指令本身。

檔案與目錄操作

Linux 的一切都是檔案,學會操作檔案就學會了一半的 Linux。

看你在哪裡

pwd

pwd 是 “Print Working Directory” 的縮寫,告訴你現在在哪個資料夾。

/home/pi

看這裡有什麼

ls

列出當前目錄的所有檔案和資料夾。

ls -la

加上 -la 可以看到隱藏檔案(以 . 開頭的檔案)和詳細資訊,包括權限、大小、修改時間。

移動位置

cd Documents        # 進入 Documents 資料夾
cd ..               # 回到上一層
cd ~                # 回到家目錄(/home/pi)
cd /                # 去到根目錄

建立資料夾

mkdir 我的資料夾
mkdir -p a/b/c      # 一次建立多層資料夾

建立檔案

touch hello.txt     # 建立一個空白檔案

複製、移動、刪除

cp 原檔案 目標位置       # 複製檔案
cp -r 原資料夾 目標位置  # 複製整個資料夾
mv 原檔案 新名稱         # 移動或重新命名
rm 檔案名稱              # 刪除檔案
rm -r 資料夾名稱         # 刪除整個資料夾(小心使用!)

⚠️ Linux 沒有資源回收桶,刪掉就是真的刪掉了。

查看與編輯檔案

看檔案內容

cat 檔案名稱            # 顯示整個檔案內容
less 檔案名稱           # 可以上下捲動(按 q 離開)
head -n 10 檔案名稱     # 看前 10 行
tail -n 10 檔案名稱     # 看後 10 行
tail -f 記錄檔          # 即時追蹤檔案更新(看 log 很好用)

編輯檔案

nano 檔案名稱

nano 是最簡單的文字編輯器:

  • Ctrl + O 儲存
  • Ctrl + X 離開
  • Ctrl + W 搜尋

系統資訊

硬碟空間

df -h

看每個磁碟的使用狀況,-h 讓數字以人類易讀的格式顯示(GB、MB)。

記憶體使用

free -h

目前跑了什麼程序

top

即時顯示系統資源使用狀況,按 q 離開。

ps aux

列出所有正在執行的程序。

停掉某個程序

kill 程序ID

先用 ps aux | grep 程式名稱 找到程序 ID,再用 kill 停掉它。

套件管理

樹莓派用 apt 來安裝、更新、移除軟體。

sudo apt update              # 更新套件清單
sudo apt upgrade -y          # 更新所有已安裝的套件
sudo apt install 套件名稱    # 安裝套件
sudo apt remove 套件名稱     # 移除套件

權限與 sudo

Linux 有嚴格的權限控制,有些指令需要管理員權限才能執行。

sudo 指令

sudo 讓你以管理員(root)身份執行指令,系統會要求你輸入密碼確認。

了解檔案權限

ls -la

看到類似這樣的輸出:

-rw-r--r-- 1 pi pi 1234 Jan 1 12:00 hello.txt
drwxr-xr-x 2 pi pi 4096 Jan 1 12:00 Documents

前面的 rwxr-xr-x 是權限:

  • r = 讀取
  • w = 寫入
  • x = 執行
  • 分成三組:擁有者群組其他人
chmod 755 檔案名稱    # 改變權限
chown pi:pi 檔案名稱  # 改變擁有者

網路相關

ping google.com          # 測試網路連線
curl https://example.com # 發送 HTTP 請求
hostname -I              # 查看自己的 IP 位址

實用小技巧

Tab 自動補全

打指令或路徑時按 Tab,系統會自動補全,是省時間的好習慣。

上下鍵查看歷史指令

可以叫出上一個指令,不用重複輸入。

Ctrl + C 緊急停止

程式跑到一半想停掉,按 Ctrl + C 強制中斷。

管道(Pipe)

指令1 | 指令2

把第一個指令的輸出,當作第二個指令的輸入。

# 例如:列出所有程序,只顯示包含 docker 的行
ps aux | grep docker

重新導向

指令 > 檔案名稱    # 把輸出存到檔案
指令 >> 檔案名稱   # 把輸出附加到檔案末尾

練習題

學指令最好的方式就是動手做,試試看在樹莓派上完成這些任務:

  1. 在家目錄建立一個叫 practice 的資料夾
  2. 進入這個資料夾,建立三個檔案:a.txtb.txtc.txt
  3. nanoa.txt 裡寫一段文字
  4. a.txt 複製成 a_backup.txt
  5. 刪除 b.txt
  6. ls -la 確認資料夾裡的狀況
  7. 查看目前硬碟空間

小結

這篇學到的指令: