了解 Linux 組成:內核責任、GNU 工具、桌面環境 | 基礎版到發行版

了解 Linux 組成:內核責任、GNU 工具、桌面環境 | 基礎版到發行版

Overview of Content

Linux 其實是 Unix 的變種,它的本質還是 Unix

從 Unix 發展的作業系統除了 Linux 之外,還有 Solaris & BSD

Linux作為一個開源的操作系統,擁有豐富多樣的組成和功能。本文將從 Linux 的基礎組成一路深入,探索 Linux內部結構和不同的發行版

  • Linux 基礎組成:深入了解 Linux 的抽象級別和層次結構,以及內核空間中的各種責任和功能
  • 內核空間:探討內核空間的應用管理、記憶體管理、硬體設備管理和系統呼叫等重要功能
  • GNU 工具:介紹核心工具和 Shell 互動工具,幫助讀者更好地理解 Linux 命令行操作
  • Linux 桌面環境:探索 Linux 桌面化的世界,包括圖形工具、不同桌面環境(如 KDE、GNOME、Unity)以及其他桌面化方案
  • Linux 發行版:介紹核心Linux發行版和特定用途的發行版,以及 LiveCD 測試發行版,幫助讀者選擇適合自己需求的Linux版本

寫文章分享不易,如有引用參考請詳註出處,如有指導、意見歡迎留言(如果覺得寫得好也請給我一些支持),感謝 😀


Linux 組成核心

不管是哪個版本的 Linux(CenterOS, RedHat, Unbuntu... 等等發行版本),他們都是透過 4 個部份組成整個系統

A. Linux 內核:以下為內核中的幾個重要組件

重點核心概述
系統內存管理有關於內存回收、虛擬內存、內存交換 (Swap)…等等
進程管理決定進程的優先順序,啟動順序 …等等
硬體設備管理管理硬體的驅動,這個驅動會被當作特殊文件被管理(Node 唯一值)
系統呼叫、支援像是 文件管理:Linux 支持讀取多種不同類型文件,像是 ext2~4, hpfs… 等等

B. GNU 工具

C. 圖形化桌面環境

D. 應用軟體


Linux 抽象級別、層次

現在以令一個更加抽象的概念來看,Linux 主要有分為 3 個抽象層次

graph TB subgraph Linux 組成 硬體 Linux核心 使用者程序 end

硬體(Hardware): CPU、硬碟、記憶體... 等等硬體裝置

映像(Image)是硬體嘛

這是一種抽象描述記憶體的方式,用來表示位元在記憶體中的 特定實體排列

Linux 核心(Kernel):核心是執行在記憶體中的軟體,它可以直接控制、操作硬體,由此可知它的 重點在 管理硬體系統,並提供硬體對外的溝通界面(抽象界面)

核心模式

核心是運行在 核心模式,奇特典試可以不受限制的取運用處理器、記憶體資源

所以核心沒控制好很容易造成系統崩潰

使用者程序(User process):所有應用都由核心通一管理,藉由一個一個應用組成了最頂層,也就是 使用者空間(也可稱為 User speace)

有些應用不會直接與使用者互動,但它仍是使用者程序(像是背景服務應用)

另一個定義:核心分配給使用者程序的記憶體空間,我們稱之為 使用者空間(User space)

使用者模式

相對於核心模式,使用者模式可以取用的資源就受到了限制(無法無限制取用),並且使用者模式不能訪問核心模式的記憶體空間

應用在核心的管理之下,所以如果應用崩潰也可由核心回收資源,不會導致系統崩潰


內核空間:內核責任

第一版 Linux 內核是由 Linus Torvalds 發行(那時是為了模仿 Unix 操作系統);以下會簡介 Linux 內核 中幾個重要的組件、特色

應用管理:上下文切換

● 程式在記憶體上的劃分單元就是 進程Process);程式可以運行在前台(可見)、也可以運行在後台(不可見)… 那系統中一定會運行不只一個應用,這些應用們由誰管理呢?

核心會管理所有程序Process Management),它涉及程序的啟動、暫停、恢復、中止... 等等行為

graph TB; subgraph 核心管理鏈表 n1(node 1) n2(node 2) n3(node 3) end a1(應用 a) a2(應用 b) a3(應用 c) n1 -.-> a1 n2 -.-> a2 n3 -.-> a3

上下文切換 Context Switch

在多應用執行時,核心會分配 CPU 資源,不會讓單個應用執行完才運行令一個,而是 讓 CPU 快速切換資源,讓多個程序看起來是一起執行的

● 核心管理程序的概念順序如下:

核心執行的時間點就是 上下文切換的時間間隙

A. CPU 為每個應用計時,計時到就切換為核心模式,由核心接管 CPU 資源

B. 核心紀錄下每個 CPU 的記憶體狀態資訊

等到下次要恢復某個應用時可以用到這些記憶體資訊

C. 核心執行上一個時間段內的任務

處理核心自身的任務(eg. 像是讀取輸入、輸出、硬碟操作)

D. 核心執行下一個程序

下一個要運行的使用者空間的程序

E. 核心為新程序準備 CPU、記憶體

F. 核心江心程序執行的時間通知 CPU(計時 CPU 的使用時間)

G. 核心將 CPU 切換置使用者模式,將 CPU 控制權交給新應用

進程的啟動順序:這取決於你使用哪一版的 Linux,啟動順序往往會放在一個文件中做管理;Ubuntu 就會放置在 /etc/init.d 目錄下

Linux 中運行的第一個程式稱為 init 進程

其他 Linux 程式啟動順序則可能放置在 /etc/inittab

在Linux系統中,init進程在啟動時會按照以下順序執行不同位置的腳本,順序如下:

A. init 進程會讀取並執行 /etc/inittab or etc/init.d 文件中的腳本

B. 接著 init 進程會讀取當前運行級別(run level)對應的 /etc/rc<X>.d 目錄下的腳本 (X 代表了運行等級)

● 目錄中以字母 S 開頭的腳本(S代表Start,即啟動腳本),按照文件名的字母順序執行其中的腳本

● 目錄中以字母 K 開頭的腳本(K代表Kill,即停止腳本),同樣按照文件名的字母順序執行其中的腳本。

運行等級:Linux 系統的運行等級有分為 5 個級別;這些級別可以調整(3 -> 5 將系統改為優先圖形系統)

運行等級特色e.g
1單用戶模式(啟動基本的系統進程 & 一個控制台終端)通常在系統有問題需要做緊急修復時
3標準的系統運行等級,大多數軟體都運行在這個等級之下網路應用
5啟動圖形化系統圖形化桌面窗口登入系統

記憶體管理 & 虛擬記憶體

內存就是記憶體 Memory,程式運行就是建立在內存之上,當你在操控程式時其實就是在操控這個程式專屬區域的內存

● 核心會管理所有記憶體,並為每個應用分配記憶體

● 核心也管理包括了共享記憶體、空閒記憶體

上下文切換管理記憶體

我們上面有說核心運行的時機點就是,上下文切換的間隙,而記憶體的管理也是核心的工作之ㄧ;其特色如下

● 核心有自己的專有記憶體空間,其他使用者程序無法使用

● 而每個使用者程序也有自己的專用空間

● 使用者應用程序之間無法存取另一個程序的專有記憶體空間

除了記憶體共享,使用者程序之間可以透過 記憶體共享 來共享記憶體

● 使用者程序的某些記憶體空間是唯讀取的

● 透過硬體來作為虛擬記憶體,在程序需要時作為記憶體使用

虛擬記憶體(虛擬內存):當然這邊需要考慮到記憶體不足的情況,當記憶體不足時,就會 取用「硬體」當作假的記憶體

我們也知道如果使用硬體作為記憶體速度一定會變慢;這個交換過程稱為 swapping in/out,而平凡交換則會導致系統的不穩定(顫抖)

graph LR; 硬體 -.-> 虛擬記憶體 subgraph 記憶體 真實記憶體 虛擬記憶體 end

A. 記憶體可能只有 4G,但當前在系統上運行的程式有 5G

B. 這時為了避免系統當機或 Crush,會使用硬體當作記憶體來使用

C. 實際情況會把使用率較低的程式放入硬體中儲存,當有需要時再將它的資料從硬體中取出

虛擬記憶體劃分並不是以 1Byte, 1K... 等等單元,它是 使用一個虛擬單位 Page 來劃分記憶體

MMU 記憶體管理單元

新型(近代)CPU 提供 MMU 機制,也就是 程序不會直接存取記憶體,而是 透過核心存取記憶體,當程序需要記憶體時,透過 MMU 記憶體映射 來取得實體記憶體位置

分頁表(page table)

核心要做的工作就是在上下文切換時,將記憶體映射表從被移出程序轉給被移入的程序使用(管理記憶體映射表)

硬體設備管理

核心負責管理、操控硬體設備,並對外提供一個訪問界面

硬體設備只能在核心模式下被存取

軟體最終都要透過硬體輸入(或輸出)才能接收到 User 指令 (像是鍵盤滑鼠),而 Linux 內核的工作也包括與這些硬體通訊,與其通訊的方式有以下兩種

A. 將特定硬體訊息 編譯進內核驅動模塊

早期的設計

graph LR subgraph 內核 特定硬體訊息_1 特定硬體訊息_2 end

B. 可熱插拔的內核驅動模塊(需要在編譯內核時就設定可動態安裝驅動)

當然是這個方便多了,可隨時添加移除硬體驅動

graph LR subgraph 內核 特定硬體訊息_1 特定硬體訊息_2 end 特定硬體訊息_3 -.-> |insmod| 內核

硬體在內核中存在的方式:Linux 系統會將硬體當作 特殊的文件,這文件通常分為 3 種

驅動文件(特殊文件)說明
字符型設備文件每次只能處理一個字符,通常是終端在使用
塊設備文件一次處理大量數據
網路設備文件數據包的接收 & 發送

Linux 會為每個設備提供一個文件,該文件稱為一個 節點 Node,這個節點在 Linux 中具有唯一性(對同個機台而言)

系統呼叫、文件管理

● 核心還對使用者程序提供其他功能:

系統呼叫(System call or syscall

系統呼叫是使用者空間應用,用來訪問核心的方式,其中常見的有 forkexec 兩個函數

fork 函數:核心會建立一個和該程序幾乎一模一樣的 副本

exec 函數:核心會替換某個應用到指定記憶體中

虛擬設備(pseudodevices

虛擬設備對於使用者程序來說就是真實設備,但其實是透過軟體實現的

文件管理:Linux 內核支持讀取硬碟中的多種不同類型文件(其中也包括 Windows 文件),以下是 Linux 標準文件

文件系統說明補充
extLinux 擴展文件系統最初文件系統
ext2拓展 ext拓展多功能
ext3拓展 ext2支持日誌功能
ext4拓展 ext3支持高級日誌功能
hpfsIBM 公司為 OS/2 操作系統開發的一種文件系高性能、安全性文件
jfsIBM 日誌文件系統-
iso9660CD-ROM-
minixMINIX 文件系統-
ncpNetware文件系统-
nfs網路文件系統-
ntfsMicrosoft NT文件系统-
proc訪問系統訊息文件-
ReiserFS高級 Linux 文件系統更高性能,硬碟恢復功能
smbSamba SMB文件系统-
sysv早期 Unix 文件系統-
ufsBSD 文件系統-
umsdos建立在 msdos 上的類 Unix 文件系統-
vfatWindow 95 文件系統FAT32
XFS高性能 64 位元日誌文件系統-

這麼多文件系統要怎麼統一

Linux 內核中有一個標準接口(protocol),只要實作這個接口就可以讀取任意文件系統,這個接口稱為 VFS (Virtual File System)


GUN 工具

除了內核控制硬體設備之外還需要一些標準功能(控制文件、GBD 調適、網路功能...),這些功能就由 GUN 完成

Linux 中的 GNU 工具則是仿 Unix 計算機上的功能

GNU (GNU's Not Unix) 開發了一套完整的 Unix 工具,這整套程式都是開源軟體,這些工具不包括內核系統

核心工具

● GNU 的主旨在於為 Unix 系統管理員設計出一套類似 Unix 的環境(包括操作系統核心、命令列介面、標準程式庫、開發工具... 等等)

為了這個目的有移植了很多常見的 Unix 命令工具 (Unix 環境移植到 GNU 環境中),Linux 稱這些工具核心工具為 coreutils (組成如下)

A. 處理文件工具

B. 操作文本工具

C. 管理進程工具

Shell 互動工具

● GNU/Linux shell 是一種互動式工具,透過它可以執行命令與腳本

多個命令組合起來就是一個腳本(Script

Shell 並不直接與內核互動,而是它主要是與 GNU 工具和其他軟件進行互動(只能間接性的與內核互動),很適合拿來作為不同軟體的黏接面

● 而 Linux 系統上通常提供多種不同的 Shell 給使用者使用(每種 Shell 有不同特性),常見的 Shell 如下表

Shell 類型特性
Bourne shellUnix 版本的 Shell
bash shellGNU 模仿 Bourne shell 的產品,這是最常見的 Shell (默認 Shell)
ash運行在內存受限的輕量級 Shell (與 bash shell 相容)
korn支持浮點數、高級編程特性 (與 Bourne shell 相容)
tcsh擁有 C 語言特性的 Shell
zsh結合多個 Shell 特性(bash shell, korn, tcsh…)

Linux 桌面環境

Linux 圖型化介面並不只一種方式,它類似於一種 Protocol,只要符合 Linux 開出的 Protocol 就可以使用不同方式做出介面

圖形工具:XWindow 系統

● XWindow 系統會與 PC 上的顯卡與顯示器(螢幕)打交道的底層程式,它會控制電腦上顯示出的 Window(視窗)、圖形

● XWindow 的實現有哪些?

X Window System 是一種基於網絡的窗口系統;像是 X.org 就是一個開源的 X Window System(X11)的實現;

● XWindow 系統是主要顯示視窗、圖型… 如果要實現桌面化來操作文件或開啟應用,那還需要其他桌面系統來協助

這樣說起來 XWindow 更像是一個產生圖形的 工具

桌面化:KDE 桌面

● KDE 桌面環境是在 1996 年作為開源項目發布,它的樣子類似 Window 桌面,它主要由 四個部分組成

A. KDE 菜單:與 Window 的菜單功能類似

KDE 桌面環境包含了一個功能豐富的菜單系統,類似於 Windows 桌面的菜單,用戶可以通過菜單來訪問安裝的應用程序、系統設置和其他功能

B. 應用快捷:桌面有應用的快捷連結

KDE桌面環境允許用戶在桌面上放置應用程序的快捷方式,這使得用戶可以快速訪問和啟動常用的應用程序,提高了操作效率

C. 任務欄:可以查看當前運行的任務,並顯示運行中任務的圖標

KDE 桌面環境包含一個名為「任務欄」的組件,用於顯示當前正在運行的任務和應用程序,並且可以顯示相應應用程序的圖標,使用戶可以輕鬆切換和管理正在運行的應用程序

D. 小應用:類似於桌面上的小工具

KDE 桌面環境提供了一個名為「小應用」的功能,類似於桌面上的小工具(Widget),用戶可以通過添加不同類型的小應用來擴展桌面功能,例如天氣預報、系統監視器等

KDE 桌面使用場景

KDE桌面環境適用於各種場景,包括個人電腦、工作站、服務器和嵌入式設備等。它具有高度的可定製性,用戶可以根據自己的需求和偏好來調整和配置桌面環境,並且提供了豐富的擴展和插件支持,使得用戶可以根據自己的需要來擴展桌面功能

桌面化:GNOME

GNOME(the FNU Network Object Model Environment, GNU 網路對象模型環境) 是一個流行的開源桌面環境,主要用於Linux發行版

它是由GNU計劃開發的,旨在提供一個現代化、直觀且易於使用的桌面環境,為用戶提供了豐富的功能和高度的可定製性

像是 Red Hat Linux 就是使用這個桌面

GNOME 主要特點

圖標桌面

GNOME 提供了一個桌面空間,用戶可以在上面放置和組織圖標,這些圖標可以是應用程序、文件或文件夾等,這使得用戶可以快速訪問和啟動常用的應用程序或打開文件

多個桌面

GNOME 支持多個虛擬桌面,用戶可以在不同的桌面之間切換,這使得用戶可以更好地組織和管理打開的應用程序和窗口,提高了工作效率

拖放功能

GNOME 具有強大的拖放功能,用戶可以通過拖曳應用程序、文件或文件夾等物件來進行操作,例如移動到其他桌面、放置在面板上或將其拖到應用程序窗口中進行打開等。

樣式與用戶體驗

GNOME 的設計風格與 Windows 相似,但同時也具有其獨特的風格和特色。它注重直觀性和易用性,提供了一個簡潔、現代化且易於操作的用戶界面

GNOME 的界面通常包括面板、應用程序菜單、窗口管理器和文件管理器等組件,用戶可以通過這些組件來訪問系統功能、應用程序和文件,並進行操作和管理

GNOME 使用場景

GNOME 桌面環境適用於各種場景,包括個人電腦、工作站、服務器和嵌入式設備等

它為用戶提供了一個穩定、靈活和功能豐富的桌面環境,可以滿足不同用戶的需求和偏好

graph LR GNOME --> 個人電腦 GNOME --> 工作站 GNOME --> 服務器 GNOME --> 嵌入式設備

桌面化:Unity

● Unity 桌面系統是由 Canonical 公司負責開發的桌面環境,最初作為 Ubuntu Linux 發行版的默認桌面環境;它的目標是提供一個現代化、直觀且功能豐富的使用者界面,適用於多種設備,包括工作站、平板電腦和移動設備

Unity 主要特點

現代化的用戶界面

Unity 桌面系統采用了現代化的設計風格,包括全局菜單、啟動器和快速應用程序切換等功能,使得用戶可以方便地訪問和管理應用程序

全局搜索功能

Unity 提供了一個強大的全局搜索功能,使用戶可以快速找到應用程序、文件和設置等內容,並且能夠直接從搜索結果中啟動應用程序或打開文件

整合的通知系統

Unity 桌面系統具有一個整合的通知系統,可以顯示來自應用程序和系統的通知,並且可以通過指示燈、聲音和彈出窗口等方式提醒用戶

支持多種設備

Unity桌面系統設計用於適應不同類型的設備,包括桌面電腦、筆記本電腦、平板電腦和智能手機等,並且提供了相應的界面優化和觸摸支持

可定製性

Unity桌面系統具有豐富的可定製性,用戶可以通過更改主題、安裝擴展和調整設置等方式來自定義桌面環境,以滿足個人偏好和需求

Unity 使用場景

工作站

Unity桌面系統提供了一個現代化且功能豐富的桌面環境,非常適合用於日常工作、開發和娛樂等用途

平板電腦

Unity桌面系統具有觸摸支持和平板電腦友好的用戶界面,可以在平板電腦上提供優秀的用戶體驗

移動設備:(Android, iOS 系統都有支持)

由於Unity桌面系統的輕量級和現代化設計,它也可以在一些較為資源有限的移動設備上運行,提供快速、流暢的使用體驗

graph LR Unity --> 工作站 Unity --> 平板電腦 Unity --> 移動設備 移動設備 --> Android 移動設備 --> iOS

其他桌面化

● 桌面化其實是相當耗費內存的,如果電腦對於內存的使用較為苛刻就可以改用其他的桌面化系統(如下)

桌面系統特色
Fluxbox沒有 Window 的桌面,僅有一個用來啟動應用的菜單
Xfce與 KDE 類似,但它少了很多圖像(適合低內存)
JWM適合低內存 & 低硬碟空間的輕量桌面
Fvwm支持虛擬桌面 & Window(適合低內存)
Fvwm95類似 Fvwm,看起來像是 Window95 桌面

Linux 發行版

我們知道 Linux 系統的四大部件(應用、桌面圖形化、GUN 工具、內核)後,就可以組合出一個 Linux 系統

組合部件後的 Linux 系統就是 Linux 發行版 (發行版通常也分為幾種)

核心 Linux 發行版

● 核心 Linux 發行版 會包含上述的四大組件,不過它的選項、設定相當的多(對於新手較不健康)

可能問你需要載入哪些默認應用、以及硬體配置... 等等

以下是幾個較常見的發行版

發行版特點
Slackware最早期的 Linux 發行版
Red Hat主要用於 Internet 服務的商業發行版
FedoraRed Hat 的家用版分支
Gentoo高級 Linux 用戶版本,包含 Linux source code
openSUSE用於商用、家用的版本
Debain用於商用、家用的版本

特定用途 發行版

● 常基於某個主流發行版,但僅包含主流發行版中一小部分用於某種特定用途的應用程式;對於新手來說會幫忙自動檢測、配置硬體

發行版特點
CenterOS包含 Linux source code 的免費企業版
Ubuntu學校、家用
PCLinuxOS家庭、辦公用(免費版)
Mint家庭、娛樂用(免費版)
dyne:bolic音頻、MIDI 應用的(免費版)
Puppy Linux老舊電腦用(免費版)

大多數 Linux 特定用途發行版都是基於 Debian Linux (可以和 Debian 一樣安裝文件,但僅打包了完正的 Debian 系統之的一部分)

LiveCD 測試發行版

● LiveCD 測試發行版的特點在於:1. 透過 CD 啟動、2. 並非完整版的 Linux 系統、3. 內部可以有各種不同的軟體

● 由於是攜帶型的版本,所以它也有一些缺點:1. 速度較慢、2. 無法對 CD 寫入數據

對接技術 (解決無法寫入數據問題的方案):

透過將 Linux 核心文件複製到內存(記憶體)中,就可以移除硬碟,並仍保持運行系統

其中有名的 LiveCD 發行版如下

發行版特點
Knoppix最早期來自德國的一款 Linux LiveCD 發行版
PCLinuxOS成熟的 LiveCD 發行版
Ubuntu多語言世界級項目~
Slax基於 Slackware Linux 的一款 Linux LiveCD
Puppy Linux為老舊 PC 設置

更多 Linux Shell 知識

探索 Debian 系統上的套件管理系統(PKMS 概念)| 套件倉庫

Linux 環境、服務:用戶、權限管理

Linux 環境、服務、管理

在這個主題中,你可以探索各種 Linux 環境、服務和管理相關的重要概念…

了解 Linux 組成:內核責任、GNU 工具、桌面環境 | 基礎版到發行版

在這裡,你將了解 Linux 系統的基本組成部分,包括內核、GNU 工具和桌面環境,並了解不同 Linux 發行版之間的差異

探索 X Window 服務與桌面環境:Linux 視窗 XWindow 服務、D-Bus 機制

這裡探討了 Linux 系統中 X Window 服務和 D-Bus 機制的工作原理,讓你深入了解桌面環境的背後運作方式

Linux 系統管理入門:安全性、用戶管理與權限設定指南

在這個指南中,你將學習如何管理 Linux 系統,包括安全性、用戶管理和權限設定,以確保系統的安全和有效運作

認識身份驗證與權限管理:UNIX UID、使用者驗證與 PAM | PAM 設定

這裡介紹了 UNIX 系統中的身份驗證機制和權限管理方式,包括 UNIX UID、使用者驗證和 PAM(Pluggable Authentication Modules)設定

Linux Shell 相關知識

Linux Shell 相關知識

這個主題涵蓋了各種與 Linux Shell 相關的知識,從基礎到進階都有…

Shell 基礎知識:包括 Shell 的基礎使用以及差異,還有變數以及計算

認識命令行:Shell 類型、命令差異 | Sub Shell 關係 | Builtin 命令

這裡介紹了命令行中不同類型的 Shell,以及各種 Shell 命令之間的區別和內建命令的用法

Shell 全局及區域變數、特殊變數及環境變數 | Shell 啟動順序 | Array 變數

學習如何在 Shell 中使用全局變數、特殊變數和環境變數,以及如何設置和管理這些變數

探索腳本與命令:Shell 腳本的必備相關知識 | 腳本的數學運算

這裡介紹了 Shell 腳本的基本知識和常用技巧,包括如何執行腳本和進行數學運算

Shell 結構化

Shell 腳本程式中的條件語句和高級特性 | Shell 結構化 & 判斷

該篇文章是介紹結構化腳本的基礎以及特殊的高級技巧,轉著於腳本中的邏輯判斷

掌握 Bash 腳本中的迴圈與循環控制技巧 | Shell 結構化 & 循環

接著是腳本中的循環與控制的技巧,它可以讓我們在 Shell 腳本中有更多的判斷與技巧

探索 Shell 函數與腳本庫 | Shell 結構化 & 函數

這裡你將會學在到結構化腳本的重要技巧「函數」,它可以讓你建立可重複利用的腳本,以節省我們之後開發的時間

Shell 掌握參數處理與用戶輸入技巧 | Shell 結構化 &輸入互動

不可互動的腳本有時候相對無趣,這篇文章有分享如何讓腳本與使用者產生交互互動,並依照使用者輸入的參數做讀取

Shell script 進階

Shell 命令輸入與輸出指南:掌握標準文件描述符與重定向 | 臨時文件

掌控 Shell、指令的輸出輸入是成為進階使用 CLI 之人必經的一課,透過這篇文章可以了解到輸出輸入、臨時文件等等資訊

探索 Linux 訊號與後台進程管理:安排定期啟動腳本 | 運行時啟動腳本

信號可以算是 Shell 腳本與 Linux 系統之間的通訊方式,透過這個文章,我們可以了解到信號與 Shell 腳本的安排時間

Linux 硬體規劃:檔案系統、分區

Linux 硬體規劃:檔案系統、分區

最後,這個主題涵蓋了 Linux 系統中硬體結構相關的重要概念…

Shell 文件和目錄操作的常用命令和技巧 | 尋找檔案

這裡介紹了 Shell 中常用的文件和目錄操作命令,包括如何尋找文件和管理文件系統

深入探索 Linux 文件系統與硬體管理 | 分區、檔案系統、邏輯卷 | inode

學習如何管理 Linux 文件系統,包括分區、文件系統和邏輯卷等相關概念,以及文件系統中的 inode 機制

理解 Unix/Linux 設備偵測、建立 | 認識與使用 udevd | SCSI 與 Linux 核心

這裡介紹了 Unix/Linux 系統中的設備偵測和管理,包括如何使用 udevd 和 SCSI 相關的 Linux 核心知識


Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

發表迴響