linux系統概述,linux系統的發行版有哪些,linux的存儲設備,linux的目錄結構的簡單介紹 ...
近些年來隨著Internet的發展,Linux系統已經逐漸成為伺服器的主流操作系統之一。眾多互聯網巨頭將其作為關鍵伺服器的操作系統。由於linux在安全性、穩定性上比windows要好,而且linux是開源免費的,配合免費的GNU軟體可以實現免費而且成熟的服務環境部署!大到google,小到個人博客,絕大多數都是部署在linux環境下的!學習linux不但可以方便對linux伺服器的管理!還幫助開發者更好地開發出可以在linux上運行的應用程式!
Linux系統簡介
Linux系統是一個功能強大的操作系統,同時它是一個自由軟體,是免費的,開放源代碼的。編製它的目的是建立不受任何商品化軟體版權制約,全世界都能自由使用的UNIX相容產品。
Linux系統能做什麼
linux系統能為我們做些什麼呢?這是每個用戶都關心的問題。目前Linux系統的應用主要分為桌面環境和企業環境兩個方面。
- 桌面環境。對於家庭用戶而言,linux提供了比較方便的KDE和GNOME桌面環境。桌面環境中自帶的軟體能夠滿足用戶的不同需求。如用Mozilla Firefox等瀏覽器可以瀏覽網頁,利用KMail可以收發電子郵件,利用XMMS、Kxine等多媒體播放器,可以播放音樂和視頻等多媒體。開源的OpenOffice是一個功能強大的辦公軟體。除此之外,Linux中還有許多有特色的軟體。
- 企業環境。Linux作為一個類UNIX系統,不僅繼承了UNIX系統中許多優秀伺服器軟體,而且還有許多開源伺服器軟體,企業可以用這些軟體構建自己的網路伺服器。如:利用BIND可以構建企業級功能變數名稱伺服器;利用MySQL和PostgreSQL可以構建企業級數據中心;Linux系統中擁有知名的web伺服器軟體Apache,高性能web伺服器軟體Nginx等,使用這些軟體可以構建企業級web伺服器;利用Qmail、Postfix和Sendmail可以構建企業級郵件伺服器。除此之外,linux系統中還有很多高性能伺服器軟體:代理伺服器軟體Squid、文件伺服器軟體Samba、FTP伺服器軟體vsFTPd等。這些軟體形成了一整套企業服務解決方案。
Linux主要發行版
通常所說的Linux操作系統,是對使用Linux內核的一類操作系統的統稱,這些操作系統的主要結構包括:Linux內核、人機交互程式、應用程式等。
Linux內核是操作系統的核心部分,主要負責管理進程、存儲設備和網路介面等。
用戶是無法使用只有一個Linux內核的操作系統的,將Linux內核、人機交互程式以及各種應用程式組合在一起,就組成了用戶可以使用的操作系統,通常將其稱為Linux發行版。使用Linux內核的發行版有數百種之多。這裡簡單介紹一些常見的Linux發行版。
- Arch Linux。
- Arch Linux在安裝過程中提供了強大的可定製選擇,支持你下載和安裝自己所需的程式包。雖然對新手來說沒有多大幫助,但它卻是能夠幫助那些使用Arch構建系統和存儲庫的用戶安裝儘可能少的程式,減少對編碼產生干擾的可能。
- Arch Linux下載地址(http://www.archlinux.org/)
- Debian
- Debian是最古老的Linux發行版之一,其穩定性已深入人心。所有包含在Debian的程式必須符合Debian的自由軟體指南。為了保持Debian的穩定性,裡面的文件包都是已被認真篩選和測試的,這意味著就算裡面某些程式過時了,它對於系統帶來的不穩定性任然會非常小,因此,Debian無疑是程式員理想的操作系統。
- Debian的網站有豐富的產品指南,其中包含了一個編程的章節,它記錄瞭如何通過創建和編譯腳本以及如何使用Autoconf來讓你的腳本在其他Linux發行版上進行編譯。
- Debian的下載地址(https://www.debian.org/)
- Ubuntu
- Ubuntu是為初學者設計的,它包含桌面界面和自動更新。Ubuntu是Android開源項目構建源文件所選擇的發行版,Android的構建經常使用Ubuntu的最新版本進行測試。
- Ubuntu下載地址(https://www.ubuntu.com/)
- Fedora
- Fedora是社區支持商業發行紅帽linux的一個衍生產品。除了設置和安裝很容易外,Fedora還有一個專業的開發者門戶網站(https://developer.fedoraproject.org/)。只需點擊啟動一個項目,就可以看到關於開發web、命令行、桌面和移動應用程式的專業指南,此外,在使用諸如Arduino這樣的硬體設備方面也有很好的指引。
- Fedora下載地址(https://getfedora.org/)
- CentOS
- CentOS也是一種免費的、社區生成的Red Hat變體版。
- CentOS下載地址(https://www.centos.org/)
Linux系統的優勢
Linux操作系統具有許多獨特而強大的功能。與其他操作系統一樣,它是控制電腦的系統程式。但同時也與UNIX一樣,是一個精心設計的工具程式的集合,而且提供了大量的工具使得用戶可連接和使用這些工具,以構建系統和應用程式。
- Linux具有內核編程介面。Linux內核是Linux操作系統的核心,負責分配電腦資源和調度用戶作業,儘可能使得每個作業都能平等地使用系統資源。
- Linux支持多用戶。根據硬體和電腦所執行任務的不同,Linux操作系統可支持一個到一千個以上的用戶,其中的每個用戶可同時運行不同的程式集合。
- Linux支持多任務。Linux是一個完全受保護的多任務操作系統,它允許每個用戶同時運行多個作業。進程間可相互通信,但每個進程是受到完全保護的,即不會受到其他進程的干擾。
- Linux支持安全的分層文件系統。Linux以目錄結構的方式組織文件。這種結構可使用戶通過將相關文件放到一個目錄下,實現對大量文件的管理。每個用戶擁有一個主目錄,根據需要可在該目錄下建立更多的子目錄。
- shell:命令解釋器和編程語言。在文本環境下,shell作為命令解釋器,建立了用戶和操作系統之間的介面。當輸入一個命令後,shell將對命令進行解釋,並調用相應程式。shell除了具有解釋鍵盤命令併發送到操作系統的功能外,它還是一種高級編程語言。shell命令可組織在一個文件中供以後執行,這些文件在Linux系統中稱為shell腳本。在DOS和Windows系統中報備稱為批處理文件。這種靈活性使得用戶利用相對簡短而簡單的命令就可進行複雜操作,並且使得用戶輕而易舉就可創建完成複雜操作的精巧程式。
- 大量有用的工具集。linux包括幾百個工具程式,這些程式通常被稱為命令,可以提供用戶普遍需要的功能。
- 進程間的通信。Linux允許用戶在命令行上建立管道和過濾器。管道可以將一個程式的輸出做為另一個程式的輸入,過濾器作為管道的一種特殊形式,對輸入數據流處理以得到輸出數據流。過濾器可對程式的輸出進行修改,輸出結果可作為另一個程式的輸入。
- 系統管理。linux系統的系統管理員通常是系統所有者和系統唯一的用戶,具有很多職責,其中首要的應該是設置系統和安裝軟體。一旦系統啟動並運行,系統管理員應負責下載和安裝軟體(包括對操作系統的更新)、備份和恢覆文件、管理系統設備,也應負責為新用戶建立賬戶,必要時啟動和關閉系統,以及處理任何出現的問題。
Linux的存儲設備
硬碟是當前電腦中存儲數據的主要設備。
1. 硬碟分類:
按讀寫功能對存儲設備進行分類:
- 隨機存儲器,這類存儲器的代表是記憶體。
- 只讀存儲器,主機上的光碟機。
- 可讀寫存儲器,硬碟、軟碟機、和U盤。
目前市場上的存儲設備按使用介面類型分類:
- IDE設備,一種較為老式的個人電腦硬碟介面,目前仍有少量使用。使用並行方式傳輸數據,也稱“並口”。Linux中標識為hd.按介面編號不同,命名為hda、hdb……
- SATA設備,目前主流個人電腦硬碟介面,使用串列方式傳輸數據,也稱“串口”。Linux中標識為sd.按介面編號不同,命名為sda、sdb……
- SCISI設備,小型電腦和伺服器上的硬碟大多使用這種介面。Linux中標識為sd.按介面編號不同,命名為sda、sdb……
- 串列匯流排設備,主要指U盤,移動硬碟、移動光碟機等使用USB介面的移動存儲設備。Linux中標識為sd.按介面編號不同,命名為sda、sdb……
2. 分區的標識方法
在使用硬碟存儲數據時,還需要對硬碟進行分區,按分區的使用方法可將硬碟分為三種:主分區、擴展分區、邏輯分區。
- 主分區:硬碟中最基本的分區類型,主分區可直接掛載並存儲數據,一個硬碟最多只能有4個主分區。使用標識符1、2、3、4,如硬碟sda上的第一個主分區表示為sda1,
- 擴展分區:特殊的主分區,如果要使用擴展分區存儲數據,必須先將擴展分區劃分為邏輯分區(邏輯分區建立在擴展分區之上)。如果要在一個硬碟上創建4個以上的分區,就必須使用擴展分區。由於擴展分區也是一種主分區,因此擴展分區也占用一個主分區號。
- 邏輯分區:可創建多個邏輯分區,邏輯分區可直接掛載並存儲數據。邏輯分區標識從數字5開始。sda5……
Linux系統中的硬碟分區使用以上標識符命名並保存在目錄/dev中,要使用分區存儲數據時,需要將對應的塊設備文件掛載到一個目錄下。掛載塊設備的過程可以描述成:為用戶使用該分區存放和讀取數據提供一個介面或途徑。
Linux系統中的目錄結構
與windows不同,Linux系統使用一個目錄結構來代表整個文件系統,linux系統的目錄結構通常由一個或多個文件系統組成。
Linux系統使用斜杠“/”表示整個目錄的起點(根目錄),將根目錄所在的分區稱為根分區。根目錄下有許多用於存放各類文件的子目錄。
目錄名 | 功能 |
bin目錄 | 主要用於存放普通用戶可以使用的命令 |
boot目錄 | 存放Linux啟動所需文件,包括內核,引導文件 |
dev目錄 | 存放設備文件 |
etc | 系統和服務的配置文件,普通用戶只能讀 |
home | 存放普通用戶的家目錄 |
lib | 存放系統及相關軟體依賴的文件 |
lost+found | 系統出現意外或掉電關機,文件系統可能會損失一些文件或產生文件碎片,系統重啟會修複這些文件,並將其放入此目錄便於管理員恢復 |
media | 掛載可移動媒體 |
mnt | 臨時掛載一些磁碟設備 |
opt | 額外的軟體安裝在此目錄 |
proc | 系統運行時將相關的暫存信息放入此目錄(由系統產生,並非真實存在於文件系統上) |
root | root用戶的家目錄,存放root的初始化文件、個人文件等 |
sbin | 存放一些系統管理命令,普通用戶不能執行這些命令 |
tmp | 存放系統或進程運行時產生的臨時文件,用戶也可以在這個目錄中存放自己的臨時文件 |
usr | 存放一些幫助和文檔,有時也存放一些配置文件和程式 |
var | 存放許多類型的文件,如日誌文件、資料庫文件、web伺服器程式文件等。 |