Introduction of Linux

lecturer︰薯羊

OUTLINE

  • 簡介作業系統
  • Linux的特色以及其歷史
  • Linux的基礎操作指令

把作業系統課程簡化99%以後

常見的電腦作業系統

Windows

macOS

Linux

其實我們這些使用者在使用圖形介面時

中間的連繫是這樣的

USER

Hardware(硬件)

是指組成一台計算機的所有組件。

以桌機為例,它包括了

CPU(中央處理器)

RAM(隨機存取記憶體)

Harddisk(硬碟)

等設備。

Kernel(核心)


作為系統的主要核心,

主要是把使用者的指令

解譯為電腦能理解的語言。

Shell(殼層)

簡單來說就是使用者用到的所有應用程式。

包括了你平常在使用的瀏覽器,甚至你看到的視窗介面都是。

作業系統的功能

  • 提供使用者簡易的操作環境
  • 監控整個程式的執行過程
  • 調配程式使用各種電腦資源
  • 檔案管理
  • 具備識別密碼保護措施確保資料的安全

所以,LINUX有什麼特色?

Linux的背景 (一)

1969年

肯尼斯·藍·湯普遜

(Kenneth Lane Thompson)

為了移植一套遊戲,透過組合語言程式撰寫一套暱稱 Unics 的軟體。

1973年

C語言的發明者 丹尼斯·里奇

(Dennis Ritchie)

把Unics改寫成一套作業系統,並更名Unix。

Linux的背景 (二)

1979年

第7版的Unix寫明

「不可以對學生提供原始碼」。

在這一個版本以後,Unix的原始碼就僅授權於部份大學。

 

1980 ~ 1990年

人們想有一個自由開放的Unix系統供使用

因此有部份人在不看Unix的原始碼的情況下,寫出了類似Unix的系統。

GNU 及 GPL條款也因為各種Unix like系統的出現下而誕生。

Linux的背景

1991年

一位芬蘭大學生 Linus Torvalds

當時他大二,在為了解決作業的情況下,

自行用GUN C寫出一個可以在Intel 386運行的小小的核心程式,這就是Linux的前身。

LINUX

因此Linux 是一款Unix Like系統

在同為Unix Like系統的情況下,

其實各位也認識一些Unix Like系統。

那套系統的名字叫︰

macOS 以及 Android

Windows

  • ShellKernel

Mac

  • ShellKernel

LINUX

  • Kernel

3個系統所涵蓋的內容

Linux

平常我們說的LINUX系統到底是?

(Debian的圖形介面)

  • Kernel
  • Software (Shell)
  • GUI (Graphical User Interface) (不一定有)

+

套件

=

Linux Distributions

各個Linux Distributions的版本︰

最新版本:

外面企業常用到的Linux Distributions︰

  • RedHat (RHEL)
  • CentOS
  • SUSE

較常在家用版看到的︰

  • Ubuntu
  • Debian

7.6

7.6

15

18.10

9.6

LINUX的基礎操作指令

su

  • super user

  • 登入擁有最高控制權的Root帳戶

  • **登入時的密碼,並不會有任何顯示**

sudo

  • super user do...

  • 登入擁有最高控制權的Root帳戶,並執行指令

  • 格式

    • sudo [完整指令]

身份控制

pwd

  • print working directory

  • 從root開始,顯示當前路徑

ls

  • list

  • 列出當前目錄下的檔案

  • 格式︰

    • ls [參數] [路徑]

  • 參數︰

    • -a 列出所有檔案

    • -l 列表

 目錄控制 (一)

cd

  • change directory
  • 更改目錄
  • 格式︰
    • cd [目標路徑]
  • 需要搭配 相對路徑 或 絕對路徑 使用。

 目錄控制 (二)

  • 例子︰

    • cd / 回到根目錄

    • cd ../ 回到上一層

    • cd test 移動到當前目錄下的test目錄

絕對路徑

  • 從當前目錄出發
  • 優點︰
    • 用語簡短
    • 彈性較大
  • 例子︰
    • cd file

 目錄控制 (三)

  • 從root出發

  • 優點︰

    • 清楚表達檔案的位置

  • 例子︰

  • cd /home/sirla/桌面/file

相對路徑

more

  • concatenate files and print on the standard output
  • 連接文件並在屏幕上顯示
  • 格式︰
    • cat [參數] [檔案名稱]

檔案內容顯示

  • less is more

  • 把文件內容以一頁一頁的方式顯示

  • 操作方式與vi相同

  • 格式︰

    • more [參數] [檔案名稱]

cat

LAB 01

用上面提到的技巧
尋找藏有flag的檔案

apt-get

  • Get Advanced Packaging Tools

  • 取得 APT(進階打包工具)

  • 格式︰

    • apt-get [動作] [工具名稱]

 下載套件

  • 動作︰
    • install
    • remove

    • update

小練習

使用apt-get

取得tree工具

 目錄控制 (四)

tree

  • 列出資夾的樹狀結構
  • 使用前需要下載套件tree
  • 格式︰
    • tree [參數] [顯示格式]
  • 參數
    • -C 為各種檔案加上色彩,方便辨識種類

mkdir

  • make directory
  • 建立資料夾
  • 格式︰
    • mkdir [資料夾名稱]

touch

  • 格式︰
    • touch [檔案名稱]
  • 碰一下檔案,以更新最後更改時間。
  • 如果檔案不存在的話,側建立一個同名的空白檔案。

資料夾控制 (一)

cp

  • copy
  • 複製
  • 格式︰
    • cp [參數] [檔案1]
      [檔案2]
  • 參數︰
    • -r 全部檔案
    • -i 覆蓋前詢問
    • -n 直接覆蓋

mv

  • move
  • 移動檔案
  • 格式︰
    • mv [參數] [檔案名稱1] [檔案名稱2]... [最後一個檔案名稱 為目標地點]

資料夾控制 (二)

rmdir

  • remove directory
  • 移除資料夾
  • 格式︰
    • rmdir [資料夾名稱]
  • *必須是空白的資料夾才有效*
  • *並不能使用rm的參數*

rm

  • remove
  • 移除檔案
  • 格式︰
    • rm [參數] [檔案名稱]
  • 參數︰
    • -f 強制
    • -i 詢問
    • -r 循環

資料夾控制 (三)

補充——命名法

檔案命名時,要避免使用空白鍵 特殊字元。因為兩者階會影響電腦的指令閱讀。

底線命名

 

Fate_Grand_Order

 

駝峰式大小寫

 

LeagueOfLegends

 

要斷開詞語,可以用底線 _ 取代 或 駝峰式大小寫CamelCase去命名

LAB 02

  1. 在 user 用 touch 建立一個檔案 "TouchThis"
     
  2. 在 user 裡建立一個資料夾 "my_dir"
     
  3. 把 "TouchThis" 的檔案移到 "my_dir" 的資料夾
     
  4. 在 user 下再建立一個資料夾 "RIP"
     
  5. 把 "my_dir" 移到 "RIP"
     
  6. 把 "my_dir" 及 "RIP" 移除掉

Thank you for
your listening!

LIS Introduction of Linux -- Week 1

By sheep_of_block

LIS Introduction of Linux -- Week 1

  • 59