第一堂 Linux 小社

By 小黑
目錄
- 小社課程內容
- 作業系統
- Linux 介紹
- CLI vs GUI
- Linux 基本指令
講師介紹
小黑(吳習之)
- 建中電研 44th 網管(兼學術兼公關)

- 暑訓三小隊輔
- 因為是小社恐所以來當小社講師
- 會一點 Linux、演算法、Python
- 叫我學長、小黑都行,不要本名
- GitHub: demonaarwu
- Discord: windnoko
小社課程內容介紹
課程目標
- 熟悉 Linux 及其基本指令和工具
- 初步建立對資安的認識
- 奠定未來深入 Linux 和資安的基礎
課程大綱
- 第一週: Linux 初認識 & 基本指令 (9/25)
- 第二週: Linux 發行版 & WSL & VirtualBox (10/16)
- 第三週: Git & GitHub (10/23)
- 第四週: 網路基本概念 (1) (10/30)
- 第五週: 網路基本概念 (2) (11/6)
- 第六週: CTF 介紹 + 常用工具安裝 (11/13)
- 第七週: CTF - Web (12/4)
- 第八週: CTF - Forensic & Stego (&misc) (12/11)
- 第九週: CTF - Crypto/PWN (12/18)
- 第十週: CTF - Reverse (12/25)
作業系統
什麼是作業系統 (OS) ?
- 使用者跟電腦的橋樑,也是電腦最重要的軟體
- 負責管理電腦的資源(e.g. 記憶體、CPU)
- 使用者發送指令給 OS,OS 再讓電腦執行
常見的作業系統
Windows


macOS

iOS

Android
還有今天的主角

Linux
Linux 簡介
Linux
- 全稱 GNU/Linux
- 開發者為 Linus Torvalds (記住這名字)
- Windows 和 macOS 以外最多人用的 OS
- Open Source

(吉祥物 Tux)

Linus Torvalds
- 芬蘭程式設計師
- Linux 創世神
- 記住他的臉,你還會看到他
為什麼學 Linux
- 77% 的 server 使用 Linux
所以如果你未來走資訊這條路,一定得學 Linux
- 對程式開發工具的支援
多數工具都會原生支援 Linux ,因此速度會比 Windows 快
- 完全免費
Windows 11 Pro 要快七千塊,該換 Linux 了ㄅ
- 更安全
Windows 跟 macOS 都閉源,你無法知道他們偷偷塞了啥
何況 Microsoft 跟 Apple 都有前科
還有,Linux 可以改的真的很帥!




(這真的不是 Windows 7,這 Linux 改的)

(阿?)
CLI vs GUI
Command Line Interface(CLI)

Graphical User Interface(GUI)

CLI
- 純文字
- 速度快
- 較不直觀(因人而異)
GUI
- 圖形界面
- 會比 CLI 慢一點
- 較直覺
能把 CLI 用習慣最好,效率會更高
Linux 基本指令
Shell
Shell
OS
Hardware
常見 Shell

Bash
- 多數 Linux 預設 Shell
- 相容性最好

Zsh
- macOS 預設 Shell
- plugins 很多

Fish Shell
- 相對冷門的 Shell
- 但自動補全超好用
Commands
所有 command 的格式
ls -a ckeisc_44th
要執行的 command
選項(可選)
參數(由 command 決定)
常用指令 (1)
- whoami (顯示當前使用者)
- man (查看指令的幫助文檔)
- cd (切換資料夾)
- ls (顯示當前資料夾下的所有檔案和資料夾)
- pwd (印出當前路徑)
- mkdir (創建資料夾)
- rm (刪除檔案、資料夾)
- cp (複製檔案、資料夾)
- touch (確認一個檔案存不存在)
- mv (移動或重新命名檔案 or 資料夾)
- cat (輸出檔案內容)
- sudo (以 root 身份執行指令)
常用指令 (2)
- echo (輸出文字)
- grep (搜尋文件內的特定關鍵字)
- sort (輸出排序後的文字)
- vim (打開 vim 編輯器)
- apt (安裝程式)
whoami
whoami
作用:印出當前的使用者

man (manual)
man <command> # 查詢一個指令的用法
作用:查詢特定指令或程式的用法
男人,什麼罐頭我說,曼巴出去

pwd (print working directory)
pwd # 顯示當前路徑
作用:顯示當前路徑

ls (list)
ls # 列出當前路徑下的檔案和資料夾
參數
-a # 列出當前路徑下所有的檔案和資料夾(包含隱藏檔案)
-R # 列出當前路徑下所有的檔案和資料夾(包含資料夾內的)
-l # 列出詳細資訊
作用:列出當前路徑的資料夾和檔案

cd (change directory)
cd <dir> # 移動至目錄
cd .. # 移動到當前路徑上一層的資料夾
cd ~ # 移動到家目錄
作用:移動到特定路徑

mkdir (make directory)
mkdir <dir> # 創建資料夾
作用:創建資料夾

rm (remove)
rm <file> # 刪除檔案
參數
-i 刪除前確認,強烈建議每次用 rm 都加這個參數
-r 刪除資料夾和其中檔案
-f 刪除前一律不確認
作用:刪除檔案或資料夾

cp (copy)
cp <file1> <file2> # 將 file1 複製到 file2
參數
-r 複製資料夾和裡面的檔案
作用:複製檔案或資料夾

touch
touch <file> # 創建檔案或更改檔案被修改時間
作用:檢查檔案存不存在(不存在就創建檔案)

mv
mv <file> <folder> # 將檔案移到資料夾下
mv <file1> <file2> # 將 file1 改名成 file2
mv <dir1> <dir2> # 資料夾,同理
作用:重新命名 or 移動資料夾和檔案

cat (concatenate)
cat <file> # 印出檔案內容
作用:印出檔案內容

sudo (super user do)
sudo rm -rf <dir> # 強制刪除資料夾
作用:以管理員 (super user) 的身份執行指令
(謹慎使用!謹慎使用!謹慎使用!)

echo
echo "Hello World" # 輸出 Hello World
echo "Hello CKEISC" > hello.txt # 將 hello.txt 的內容改為 Hello CKEISC
echo "Hello FGISC" >> hello.txt # 在 hello.txt 的尾端加上 Hello FGISC
作用:輸出文字

grep
grep <text> <file> # 在 file 內尋找包含 text 的行
grep -r <text> <dir> # 在資料夾和其底下的資料夾和檔案內搜尋
作用:在文件裡搜尋特定關鍵字

sort
sort <file> # 將 file 內的文字排序後輸出
作用:輸出 (照 A - Z) 排序好的文字

Vim
vim <file>
作用:以 Vim 編輯器開啟檔案

Vim
- 編輯器之神
- 用習慣效率飛起,完全不用滑鼠
- 不知道為什麼建電很多學術愛用(?
模式
- Vim 最重要的概念
- 有點像開手排車,每個模式都能做的事不一樣
- 最重要的三個模式: Normal, Insert, Visual
- Normal Mode - 移動、基本操作
- Insert Mode - 寫東西
- Visual Mode - 選取模式
切換模式

(上屆建電學術長 807 做的圖,贊ㄟ)
按 v
按 i
按 esc
Normal Mode
- 一進來時的模式 (在 Visual or Insert Mode 下按 ESC 進入)
- 按 h/j/k/l (左/下/上/右)移動
- dd 刪除一行
- yy 複製一行
- p 貼上複製的內容
- :wq 存檔退出
- :q! 強制退出(! 代表強制)
Insert Mode
- Normal Mode 下按 i 進入
- 就,打字
Visual Mode
- Normal Mode 下按 v 進入
- 移動跟 Normal Mode 一樣
- 差別是每次移動都會選取文字
- y 複製
- d 刪除

Vim 還有更多用法,可以私下來問講師或自己找教學
apt
sudo apt install <package> # 安裝 package
作用:安裝程式
覺得太多東西記不起來嗎
小問題,多用就熟了
線上 Shell
- Google 提供的線上 Shell 環境,預設 Bash
- 點進去登 Google 帳號
- 登入後會看到像下面一樣的畫面
- 輸入 sudo unminimize 後照它的提示跑完就成功了

練習
- #1
創建一個資料夾 CKEFGISC,裡面有 CKEISC.txt 和 FGISC.txt
- #2
承上,將 "Hello CKEISC" 寫入 CKEISC.txt 裡,並輸出之
- #3
使用 apt 安裝 neofetch,並執行之。然後截個圖,發限動炫耀
先玩玩看,玩完再做練習
Thanks for listening
2024 建北電資上學期資安小社[0]——課程介紹
By Aaron Wu
2024 建北電資上學期資安小社[0]——課程介紹
- 345