Linux.

開源,免費,類 UNIX

小海@夢想特急_夢城前

Index

簡介

Introduction

  • 電腦上你只聽過 Windows 這個操作系統
  • 其實好像滿正常的
  • Windows 在個人電腦的霸主地位大到一二名操作系統都是他家的

Microsoft Windows

  • 如果你夠有錢或想買電腦一定也聽過這個
  • iPhone 確實很盤,但 MacBook 確實也做得很好
  • 什麼時候我才能買一臺 MacBook Air

MacOS

如果你還是個資訊人...

  • 不知道 Linux 別和別人說自己是資訊人
  • 個人電腦上第三大操作系統
  • 它有什麼特點?

Linux

  • 行動裝置中,操作系統佔比最高者 Android 即是建立於 Linux 的內核之上
  • 前 500 大超級電腦都是 Linux
  • 開源,免費

Linux

  • 首創者
  • 不滿其他類 UNIX 操作系統而開始開發
  • 企鵝代表南極,是全人類共有的一塊陸地

Linus

  • 要特別強調的是,Linux 的內核和桌面系統是兩回事
  • 部份人對於 Linux 的印象停留在純文字(命令列)
  • 桌面系統提供了圖形化介面(GUI)
  • GNOME, KDE, MATE, Cinnamon...

桌面系統

<- 我的 Linux 桌面

  • 一堆東西幫你設定好的 Linux
  • Debian, Ubuntu, Arch, Fedora...
  • 我自己怕麻煩用了 Mint Linux 使用者之恥

發行系統

終端機指令

Terminal

  • 為什麼到了今日有了 GUI 我們還要去碰終端機?
  • 很簡單,它省資源,快,不用碰滑鼠
  • 可以直接進行一堆複雜操作

終端機

如果你想的話

也可以這樣裝酷

  • 在開始講之前,我們要先了解 Linux 的文件系統
  • Linux 什麼東西都是目錄(檔案和資料夾)
  • 沒有 C: 和 D: 的概念,也不存在正斜反斜的問題
  • 所有東西以樹狀結構存在 '/' 根目錄底下
  • ./ 當前目錄
  • ../ 前一層目錄

路徑

  • /bin 一般使用者可以操作的命令
  • /sbin 系統管理員才可以操作的命令
  • /dev 裝置的檔案,如觸控版、鍵盤等
  • /etc 系統檔案
  • /root 系統管理員目錄
  • /home 使用者的家目錄
  • /usr UNIX 系統相關的軟體服務
  • /lib 預設放置文件的地方
  • /tmp 放暫存檔的地方

根目錄底下...

  • pwd:察看當前所在的路徑
  • cd 路徑:切換至某個目錄
  • ls:察看當前目錄底下的目錄
  • clear:清除螢幕上的輸出
  • mkdir 資料夾名:建立資料夾
  • cp 檔案 目的地:複製檔案
  • rm 檔案:刪除檔案

常用指令

  • echo 字串:將字串打印到標準輸出流
  • cat 檔案:將檔案打印到標準輸出流
  • touch 檔案名:新建一個文件

常用指令

  • su 指令:輸入後須輸入 root 的密碼,以 root 權限執行命令 *危險*
  • sudo 指令:輸入後須輸入自己的密碼,以 superuser 權限指行命令 *危險*
  • 執行上面兩種指令時請務必確定自己在幹嘛
  • 可以執行 sudo 的使用者是被限制的

常用指令

  • sudo apt-get install 套件:安裝
  • sudo apt-get remove 套件:移除
  • sudo apt-get purge 套件:將相將關設定檔移除
  • sudo apt-get autoremove:將相依套件也清乾淨
  • sudo apt-get update:更新軟體的最新資訊列表
  • sudo apt-get upgrade:更新軟體到最新版本
  • sudo apt-get changelog:察看插件的更新資訊

套件包管理(以 apt 為例)

  • Linux 的重頭戲
  • 在 Linux 裡,東西都是「文件」「文字流」
  • 是不是聽起來很像 std::cout << "something";
  • C 原本是為了 UNIX 系統設計出來的

文字流

  • |:管道指令,把前面當作輸入丟給後面
  • >, >> 輸出重導向指令,把輸出重新導向
  • <, << 輸入重導向指令,把輸入重新導向
  • 舉個例子,cat 在不接檔案的情況下會將輸入輸出到標準輸出流上
  • cat > ./a.txt:將輸入輸出到標準輸出流 > 重導向到 a.txt
  • 原本程式吃的是標準輸入輸出,可以利用重導向,這樣輸入輸出都可以是檔案

文字流

你好,世界

Hello, world

  • 來想辦法在終端機上印出 Hello, world! 吧
  • echo Hello, world
  • cat
  • Python?

Hello, world!

  • 首先當然要裝 Python
  • sudo apt-get install python3
  • 接著利用 touch, cat 寫 hello.py
  • 如果你想要的話,可以用 vim
  • 最後利用 python 執行程式

Python

  • 這個當回家作業好了(

C++

What if...

F*ck Microsoft

  • 如果你用的是 macOS ,基本上 apt 換成 brew 應該差不多就好了(brew 要自己裝)
  • 如果你用的是 Windows?
  • F*ck Microsoft!

如果,我是說如果...

  • 現在 Windows 有提供原生運行 Linux 的方式:Windows Subsystem for Linux
  • 或者你可以裝雙系統,像我一樣

WSL

Made with Slides.com