Basic Linux

Yu-Chi Lai


Intro


Linux 介紹

  • 由 Linus Torvalds 於 1991 年首次發布
  • 自由且開放的類 Unix 系統
  • 高安全性、高穩定性、高移植性
  • 常用於伺服器

特色

  • 通常無 GUI 介面,效能高 (硬體需求、耗的資源少) (?
  • 免費
  • 有超多發行版本 ( e.g: Ubuntu、Debian、CentOS、PopOS、Mangaro etc),自由度、架構開放穩定

Linux 的 Logo Linus Torvald

環境設定 (方法很多)

  • WSL
  • 官網 下載映像檔,以 USB & Rufus安裝
  • Virtual Machine

Commands


Command usage

$ command(指令) [Options](可選選項) Argument(必要參數)

# e.g.
$ ls -al ./

ls [DIR|FILE]

  • 列出資訊,未指定為當前資料夾
    • -a: 列出全部 (包含隱藏檔案)
    • -l: 詳細資訊
$ ls -a
$ ls -l

Tab auto complete

  • tab 鍵可以自動補全
    • 檔案名稱
    • 資料夾名稱
    • 指令

clear

  • 清空當前 Terminal 的文字
  • 你也可以按 Ctrl+L
$ clear

cd [DIR]

  • 切換資料夾
    • ./: 當前資料夾
    • ../: 母資料夾
    • ~: 家目錄 (/home/<USER>)
expectlai@linux: ~/INFOR35th$ ls
# Images Lectures 225
expectlai@linux: ~/INFOR35th$ cd Lectures
expectlai@linux: ~/INFOR35th/Lectures$ 

pwd

  • 顯示當前路徑 (存於 env 中)
expectlai@linux: ~/INFOR35th$ pwd
/home/expectlai/INFOR35th

mkdir [DIR]

  • 創建新資料夾
  • -p: 創建過程有不存在的資料夾,會同步創建
    ​​​​$ mkdir programing
    ​​​​$ mkdir test/dir1
    ​​​​# mkdir: can not create directory, ...
    ​​​​$ mkdir -p test/dir1
    

cat [FILE] & FILE [file]

  • cat 可以抓取檔案內容
  • file 可以用 File Header 查看檔案類型
$ cat orz.txt
# OOO,我好崇拜你,我是你的粉絲!
$ file orz.txt
# orz.txt: ASCII Text

strings [FILE]

  • 預設抓取 4 個以上連續可視字元為一組顯示,不包含 (\n,\t,\r)
  • -n: 指定最短連續可視字元長度
$ strings tmp
# Hello
# world
# Goodbye!

man help

查看指令手冊

$ man ls


apt [OPTIONS] <APT>

套件管理工具

  • install: 下載套件
  • upgrade: 更新特定套件
  • update: 更新下載資訊

sudo [CMD]

  • 使用最高權限執行指令
  • su: 切換至最高權限 (通常為 root)

Authority


Authority code


chmod [DIR|FILE]

  • 修改檔案或是資料夾權限
  • ±: 新增或移除權限
  • u: 針對當前使用者修改權限

rm [DIR|FILE]

  • 移除檔案或資料夾
  • -r: 移除資料夾
  • -f: 強制移除

mv [DIR|FILE] [DIR|FILE]

移動或是重新命名


cp [DIR|FILE] [DIR|FILE]

  • 複製檔案或資料夾
  • -r: 複製資料夾

grep [STR|REGEX] [FILE] & history

grep

  • 搜尋檔案中,符合格式的字串
  • -i: 忽略大小寫
  • -o: 僅輸出符合的字串
  • -P: 使用 Regex

history

  • 顯示指令歷史紀錄
  • -c: 清空歷史紀錄


data stream

Unix 3 data stream

stdin 標準輸入 code: 0
stdout 標準輸出 code: 1
stderr 標準錯誤輸出 code: 2

data redirect

  • >: 資料導入至檔
  • >>: 資料串接至檔案內容後
  • 2>&1: stderr 導向至 stdout

pipeline |

  • 傳遞前一個指令的 stdout 至後方的 stdin

Previous command

  • 使用上下鍵切換至使用過的指令
  • !!: 輸出、執行最後一次執行的指令

Practice


練習


The end

Thanks for your listening!

Select a repo