上一次發文已經是很久以前了
原本是要教學 Python 基本功的
但是看了一下我使用的環境配置
靠北 我自己是用 linux 系統在寫程式的
所以 本篇就反過來講述要如何使用基本的 linux 操作吧

# Linux 基本教學

*你被Rick Roll了*

本篇文章可能會較長 請有需要的人再進來觀看

# 本文預設前提

  • 你對於作業系統有基本的認識
  • 你能夠順利掌控自己的電腦
  • 你對於 windows 已經足夠熟悉 只是需要轉移使用 Linux 系統而已
  • 本篇文是為 Python 作業及以伺服器為目的做前置作業
  • 你的神智清楚知道自己在幹嘛
    若是你不符合上述前提
    那請自行先將先備知識備齊再進來

# 環境配置

# 為什麼要用 Linux

  1. # 開源 免費
    這點不需要解釋吧
  2. # 多個用戶 多個線程 多個任務
    你可以在 Linux 底下同時讓多個使用者進行工作
    也可以單個用戶同時執行多個任務
    更可以同時運行多個線程
  3. # 高穩定性和高效性
    你可以能會很常聽到 windows 系統很常因為長時間的運行而卡死
    但你並不會有機會聽到 Linux 系統因為長工時而當機
    Linux 系統下幾乎不會有這種問題
    你可以一直長時間放著讓它工作而不用擔心它爛掉
  4. # 類 Unix 系統
    現在的使用者介面大部分被
    • web
    • 行動裝置 android 和 iOS
      這兩種主宰了
      使用 windows 使用者介面去當伺服器開發已經不是件吃香的事了
      當然 如果你開發的對象是針對 windows 的圖形介面
      那當然用 windows 是沒話說的
      不過如果你是要充當伺服器的功能的話
      大部分時間還是會推薦使用 unix 類的系統

# 要選哪一種 Linux

Linux 的系統有非常非常多種
隨便舉幾個 有 centOS、Ubuntu、Kali、Dabian 之類的很多很多
不過在這裡 我們的前提是要進行 Python 的學習
以及未來可以當作伺服器做使用
那我會選擇使用 Ubuntu

理由如下

  1. Ubuntu 提供了最多以及更新速度足夠快的開源軟體
  2. Ubuntu LTS 是可以預測的 足夠穩定又安全
  3. Ubuntu 不需要強制訂閱 你不用被強制付錢就能使用
  4. Ubuntu 的使用用戶足夠廣泛 能保證系統的遷移安全
  5. 筆者我用習慣了 ( 茶

不過 如果你本身就已經是其他 Linux 使用者
那你幹嘛看這篇教學 你他媽早就會了
那你也可以做為一些環境配置的參考
去配置屬於自己的開發環境

而 Ubuntu 系統還分為三種正式版本
分別有桌面版伺服器版Core 版

桌面版是有 GUI 的系統
優點是 你除了使用指令操作以外 你依舊可以使用傳統的圖形介面來進行操作
缺點是 既然包了一個 gui 你的系統大小會變很肥大
將會吃掉不少的資源

伺服器版是目前筆者最常用的版本
缺點除了沒有 gui 介面 需要一定時間去習慣以外
基本上沒有什麼使用上的問題

Core 版本是給予機器人或者一些微型控制的晶片使用的
正常人類是用不到的 本篇的涉獵也不會使用到這部分功能

本文將會著重於 Cli (Command Line Interface) 的使用
因此將會以伺服器版進行教學

# 安裝

如果我們要安裝一個 Ubuntu 系統
可以直接從 Ubuntu 中文官方網站下載
可以隨自己高興安裝伺服器或桌面版

小提示 如果真的會怕看到一堆文字可以選擇桌面版沒關係

下載下來的檔案應該會是一個 iso 檔 (光碟映像檔)
我們有兩種方式可以處理這個點了什麼反應也不會有的 iso 檔

  1. 使用 vm (Virtual Machine) 虛擬機器打開
  2. 使用一個空的硬碟或隨身碟安裝並在裡面使用

首先介紹第一種
我們會需要一個 vm 不論是市面上哪一種都可以
請依照你所選擇的那款 進行 iso 的掛載
這裡推薦使用 VirtualBox 不論安裝或配置都很方便
進去之後應該就可以直接使用
如果要長久使用就直接安裝完整版
若是沒有要長久使用就使用免安裝試用版吧

接著是第二種方式
我們會需要把你電腦中的啟動系統順序換掉
接下來就請找一個空的硬碟或隨身碟
將其製作成開機碟

本文將不提供開機碟製作教學 請自行上網搜尋 應該有一狗票的教學

接著 進入 Bios (每部電腦進入方式皆不同 請自行嘗試或查詢)
將電腦的磁碟啟動順序改成我們剛準備的開機碟
即可進入系統 進行安裝或試用

如果你真的真的不想這麼麻煩的灌一個新的系統

有一個懶超級多的方法
Windows 10 中有提供一個功能 叫做WSL (windows 子 Linux 系統)
這個 wsl 能夠在 windows 系統底下就直接送你一個 linux
筆者目前在本地就是使用這個系統進行 Linux 操作
這個系統可以讓你不用多裝一個系統
雖然這個子系統必不能 100% 還原 Linux 系統
不過大部分該有的功能都有的
就像真的在使用一個 Linux 的系統
安裝方法也很簡單
首先到控制台中打開這個功能

接下來至 windows 商店應該可以找到各個版本的 Ubuntu
全部安裝完畢後即可當作一個 server 版的 Ubuntu 使用
當中使用 Windows Terminal 配合 powershell 或者 wsl
可以很客製化的修改自己的 Terminal
改成自己喜歡的樣子

這是筆者的Terminal介面 上面是唯一真理Monika

# 操作

# 終端

用過 Mac 的朋友可能會看過一個東西
叫做 Terminal (中文叫終端)

大概長這樣

終端是用來讓使用者輸入資料
以及能夠顯示演算結果的物件
簡而言之就是讓使用者和計算機互動的裝置

我們的 Ubuntu 系統中也有一樣的東西
能讓我們和電腦進行互動
只是指令稍微有些許不同
當中 我們可以打指令去進行操作
可以控制我們的檔案和進行各種作業
包括編寫程式、修改檔案、瀏覽資料夾
讓我們以文字形式與電腦進行互動

當然 windows使用者也有類似的東西
只是就變成cmd 也就是所謂的命令提示字元
不過兩種作業系統使用的指令可是差很多的喔

如果你是使用桌面版的 Ubuntu
點按 Alt+T 或者直接搜尋
皆可以啟動 Terminal
接下來就能在 Terminal 下指令操作啦

# 基本指令

來自 2024 的時空旅人:如果覺得下面那個看不懂的話看看這個吧這個

# 檔案操作
  • cd : 改變目錄路徑

    • cd .. 回到上一層
    • cd 回到使用者家目錄
    • cd /usr/bin 到 /usr/bin 這一個目錄 可同理至任意一個檔案路徑
    • cd / 移動到根目錄
  • pwd : 顯示當前路徑

  • ls : 列出目錄資訊

    • ls --color 以彩色顯示檔案資料
    • ls -l 詳細列出檔案系統結構
    • ls -a 顯示隱藏檔 (以 "." 開頭的檔案)
    • ls -al 同時顯示隱藏檔與詳細資料
    • ls -al|more 將檔案內容以一頁一頁顯示
移動到/etc/ufw目錄 並列出詳細資訊和目前目錄路徑
  • mkdir : 新增資料夾

  • rmdir : 移除資料夾,注意:資料夾內為空才能刪除

創建目錄和刪除目錄
  • touch : 新增空白檔案 或者更新時間戳記

  • rm : 刪除檔或目錄。

    • rm -rf 連目錄裡檔案都刪除
  • nanovim : 編輯檔案

nano 跟 vim 是 ubuntu 內常用的兩種編輯器
可以根據個人習慣去做使用
筆者個人習慣 vim (如果看到魔改介面請不要理會 以基本操作使用即可)
本篇不進行 vim 及 nano 操作教學 有興趣可自行點擊下方延伸學習

  • file : 檢查檔案類型

  • cat : 顯示檔內容

創建檔案和編輯檔案、顯示檔案內容
  • cp : 複製檔案 語法: cp 來源檔 目的檔。

  • mv : 更改檔案路徑 或 改檔案名稱

    • 路徑語法 mv 檔案 路徑
    • 名稱語法 mv 原名稱 更改後名稱
  • find : 查找文件 語法: find 路徑 -name 檔名

  • grep : 搜索、過濾資訊。

# 結語

# 廢話

如果真的照著操作後
可能會發現各位操作的介面跟筆者的截圖差很多
是因為筆者我的不論 windows terminal、ubuntu 的介面
甚至是 vim 都經過大量的自訂義修改
當然啦 這個就屬於個人喜好 如果你用原版的就很習慣了
那當然不會強迫修改 不過本篇文章並不會在此多作著墨
如果有興趣也可以從延伸閱讀找尋資料自行設定 owob

(我的 bash 和 vimrc 設定有丟一份在 github 的 dotfile
算是到處看漂亮有趣的設定半抄來 最後再自己整理成自己的喜歡的樣子
有興趣可以參考看看)

# 預告

能夠透過 cli 進行 ubuntu 的基本操作後
就可以開始學習一些更進階的功能
例如原本目的的編寫 Python 程式
或者架設網頁或伺服器等等等 諸多功能
有機會的話我也可以研究一些來分享
之後可能會做的文案目前預計會有

  • Linux 的檔案結構
  • Linux cli 下的工作優化
  • Minecraft 伺服器的架設
  • Python 教學第二課
    目前是這樣啦 有想到再說
    總之 下回見啦

# 參考資料

Ubuntu - Wikipedia

類 Unix 系統 - Wikipedia

# 延伸閱讀

Windows Subsystem for Linux (WSL) 環境設定

Vim 文字編輯器教學和常用按鍵與指令表

設定 vimrc 讓 Vim 更美觀好用

如果只使用原生的終端機要怎麼客製化 Prompt 呢