1. 程式人生 > >初識Linux shell

初識Linux shell

shel 文件系統 字符 tex 默認 bubuko 數據包 tab http

1.什麽是linux

  linux可包含四個部分:Linux內核、GNU工具、圖形化桌面工具、應用軟件

技術分享圖片

1.1 linux內核

  linux系統的核心是內核,內核控制著計算機的硬、軟件,在必要時分配硬件。

  內核主要負責功能:系統內存管理、軟件程序管理、硬件設備管理、文件系統管理

  • 系統內存管理:管理可用物理內存,創建和管理虛擬內存。內核通過硬盤上的存儲空間來實現虛擬內存(交換空間、swap),內核不斷在虛擬內存和物理空間中反復交換交換空間中的內容。內存中會劃分很多塊(page、頁面),內核將每個頁面放在物理內存或交換空間中,並會維護一個內存頁面表,指明那些頁面存在內存上還是硬盤上。將長時間不訪問的頁面從內存上轉移到swap中,即使內存有剩余(這個過程叫做換出);當要訪問一個被換出的頁面需要將頁面從swap中轉移到內存中。
  • 軟件程序管理:運行中的程序會有進程,進程可以運行在前臺,也可以運行在後臺。內核創建第一個進程init運行在虛擬內存中,用來啟動其他進程,在啟動其他進程時都會在虛擬內存中給新進程分配一個區域來存儲進程用到的數據和代碼。CentOS中會有/etc/inittab管理系統的默認啟動方式,/etc/init.d儲存開機啟動時的腳本放在該目錄下,/etc/init.d實際是/etc/rc.d/init.d的軟連接。
  • 硬件設備管理:Linux系統想要使用硬件就需要在內核中加入驅動代碼,現普遍的驅動代碼插入方式是可插入內核的設備驅動模塊,linux 系統將硬件誰被當做是特殊的文件(設備文件)

      字符型設備文件:大多數調試調節器、終端都是作為字符型設備創建的

      塊設備文件:每次可以處理大塊數據的設備,例如:硬盤

      網絡設備文件件:數據包發送和接收的設備,例如:網卡

    每個設備都會創建一個節點,設備與系統的通信都是通過節點來進行的。每個節點都有一個數值對(主設備號、次設備號)供內核標識,類似的設備被劃分到主設備號下,次設備號標識特定的設備。

  • 文件系統管理:linux內核支持不同的文件系統沖硬盤中讀取數據。內核在編譯時就必須加入所有可能的文件系統的支持。內核采用虛擬文件系統VFS,作為與很每個文件系統交互的接口。

1.2 GNU工具

  1.GNU組織開發了一套完整的unix工具,這些工具是在開源軟件理念下完成的,開源軟件允許程序員開發、免費發布,並允許任何人使用、修改軟件、將軟件集成到自己的系統。通常將GNU、linux集合成為linux系統,但會看到GNU/linux的叫法。

  GNU包括三部分:用以處理文件的工具、用以操作文件的工具、用以管理進程的工具

  2.shell是一種特殊的交互工具,為用戶提供了啟動程序、管理文件系統、管理運行在Linux系統上的進程的途徑。bash shell 是liunx默認的shell,除了bash shell 還有其他常見的shell

2.Linux發行版本

  將系統各個不同部分匯集起來的完整的Linux系統包被稱為發行版本。

  不同的Linux發行版通常歸類為3中:完整的核心Linux發行版、特定用途的發行版、LiveCD測試發行版

2.1核心Linux發行版

  Slackware:最早的linux發行版中的一員

  Red Hat:主要用於internet服務器的商業發行版本

  Fedora:從red hat 分離出的家用發行版本

  Gentoo:為高級Linux用戶設計的,包含Linux源代碼

  openSUSE:用於家用和商業

  Debian:linux專家和商用linux產品中流行的發行版

2.2特定用途的發行版本  

  CentOS:基於Red Hat企業版構建的免費發行版本

  Ubuntu:一款用於學校和家用的免費發行版本

  許多特定用途的Linux版本都是基於Debian,他們使用一一樣的安裝文件,但只有一小部分。

2.3Linux LiveCD

  可以通過CD來啟動,並且無需在硬盤安裝任何東西就能運行的Linux發行版本。因在CD上訪問,應用程序會運行的更慢;無法在CD中寫入數據,對Linux的任何操作都會在重啟後失效。使用內存、硬盤、U盤存儲可以解決一些問題。

  

  

初識Linux shell