Linux的簡介

Linux的簡介

馮諾依曼體系結構

  • 主要特點:使用存儲器,采用二進制(據說,采用二進制的靈感來源于中國的八卦,2變4,4變8…)

  • 體系介紹:其由幾大部分組成,輸入設備,運算器,控制器,內部存儲器,外部存儲器,輸出設備。

    • 目前,輸入設備就是指鍵盤鼠標,

    • 運算器和控制器現在統稱CPU。其實已經內置了兩個功能。

    • 內部存儲器就是內存,某種意義上,緩存也算內部存儲器。

    • 外部存儲器就是硬盤,光盤,移動存儲等。

Linux系統組成

硬件,內核,系統調用,(shell殼,庫函數)應用程序。

  • 內核將硬件資源抽象出來,形成系統調用,應用程序直接訪問系統調用,不能直接調用內核,這樣保證了系統的穩定性

    • 內核的工作:進程管理,文件系統管理,內存管理,驅動管等基本工作。

  • 庫函數,為了方便應用程序的開發,把一些經常用到的系統調 用封裝起來,形成常用的庫。叫庫函數。

  • 開發應用程序的時候,可以直接使用系統調用,也可以使用庫函數。shell其實也是一種應用程序。

Linux主流發行版

現在Linux主要的發行版為Red Hat(Centos)、Gentoo 、Debian、SuSE,Slackware

  • DeBian,比較好,限制比較少,也難用一些。(linux熟手)

    • 國際化協作產生,而且 Debian開發者 所創建的操作系統中絕大部分基礎工具來自于GNU工程 ,因此 “Debian” 常指Debian GNU/Linux。

    • ubuntu:屬于其二次發行版,其中的knopix以其安全性著稱。Minit桌面版,以其桌面華麗著稱。

  • RedHat。從9.0分開

    • RedHat Enterprise Linux(企業版):簡稱:RHEL 18個月或更長時間,版本號7.0。另外,CentOS:Communicity 就是紅帽山寨版(據說已經被招安。。)

    • Fedora core(桌面版):6個月甚至更短更新一次,至少23個版本

  • Slackware:主分支為suse 桌面系統做的很好)

    • suse(由德國大學生創建,然后賣給novell實驗室) 
      * SLES(企業版) * openSUSE(界面華麗)

  • Gentoo:最顯著的特點是提供給用戶自己將源碼編譯成二進制文件的功能。

  • ArchLinux:是一種以輕量簡潔為設計理念的Linux發行版

Linux哲學思想

  • 由目的單一的小程序組成,組合小程序完成復雜任務 就是模塊化設計,每個功能盡可能的簡單,這樣一是容易開發,二是代碼少,穩定性好。這樣,組裝起來的大程序功能強大且穩定。

  • 一切皆文件。管理簡單,所有的東西都依存于文件系統而不需要像windows那樣還需要注冊表。

  • 盡量減少和用戶交互。(盡量捕獲用戶接口) 盡量減少用戶交互,有兩大好處,一是只要有用戶交互就有可能出現錯誤,利于系統穩定。二是能最輕量化運維工作,這也是其主要目的

  • 配置文件保存為純文本格式。linux將所有的配置文件都設置為文本格式且都放到etc目錄下面(usr/etc等等),任何程序修正參數,簡潔有效。

編譯

其實編譯就是將源代碼解釋成二進制文件的過程,這其中分為靜態編譯和動態編譯

  • 靜態編譯:直接將源代碼和他所以依賴的庫函數全部打包編譯成可執行文件的過程。

  • 動態編譯:只編譯源代碼,不包含他所依賴的庫函數

  • 兩種方式的優劣:

    • 當進行靜態編譯時,生成的可執行文件中包含庫函數,這樣運行速度會有所提升。但是如果這樣的程序較多,并且包含的庫函數又是一些經常調用的函數,就會造成運行時大量重復的資源進駐內存,造成資源浪費。并且每個程序保存了一部分相同的代碼,造成系統體積增大。

    • 動態編譯,雖然不包含所依賴的庫函數,體積較小和節省了內存,但是移植性相對較差,因為目標電腦可能沒有這個程序所依賴的庫函數;運行速度也有一定程度的降低,因為需要去調用公共的庫函數。

Linux進程的類型

  • 與終端無關:操作系統引導啟動過程中自動啟動

  • 與終端有關:需要通過用戶操作等終端啟動

命令的使用格式和類型

大致格式:command [option] 參數。 以date為例:

blob.png

  • command 類型 命令分為內部命令和外部命令

    • 內置命令(shell內置),不論是哪種shell,都必須使用的命令,因此,shell就內置了這些命令。

    • 外部命令在文件系統的某個路徑下有一個與命令名稱相應的可執行文件。因此,某種意義上說,內部命令也屬于外部命令的一種。

    • 區分內外部命令。用type。內部顯示:builtin command 內建

  • [option ]

    • 短選項,-l(字母),多個選項可以組合使用。ls -l -h=ls -lh

    • 長選項, –單詞, 一般是不能組合的。

    • [] 中表示可以省略

    • ”|“表示多選一

    • <>必須給出的內容,必選

    • ….可以使用多個。這個選項可以出現多次

    • {}:分組用的,無特殊意義。

  • 參數肯定是文件。但是需要標明路徑。有的情況下可以不用標明,如果作用對象是當前目錄或者它下面的文件就不需要。

原創文章,作者:haoyp,如若轉載,請注明出處:http://www.www58058.com/55092

(0)
haoyphaoyp
上一篇 2016-10-28
下一篇 2016-10-28

相關推薦

  • Lua簡明教程

    這幾天系統地學習了一下Lua這個腳本語言,Lua腳本是一個很輕量級的腳本,也是號稱性能最高的腳本,用在很多需要性能的地方,比如:游戲腳本,nginx,wireshark的腳本,當你把他的源碼下下來編譯后,你會發現解釋器居然不到200k,這是多么地變態啊(/bin/sh都要1M,MacOS平臺),而且能和C語言非常好的互動。我很好奇得瀏覽了一下Lua解釋器的源…

    Linux干貨 2016-08-15
  • Linux進程管理

    一:進程的概念     1)進程:process,運行中的程序的一個副本的某部分,之所以說是副本的一部分是因為一個程序可以多個用戶同時以不同格式運行,如兩個用戶都在運行ls,一個運行的是ls -h ,另一個運行的是ls -l,那么這兩個用戶運行的程序代碼肯定是不一樣的而且不是程序的所有代碼;進程有生命周期; &nbsp…

    2017-03-26
  • n28 第二周作業

    n28 第二周作業

    Linux干貨 2017-12-09
  • 第一周隨記。

    始 .仲夏之末  ———隨記心情 去年仲夏我在鄭州富士康過著自己不喜歡的日子,做著自己不情愿做的事情。 有可能回到學校的日子才是我最想要的吧。 五月的驕陽也是那么炙熱,緩緩升起,就像想穿進我們宿舍普及到每個人身上,然宿舍有空調豈會怕你這點小小余輝。 總感覺腦子里始終有一種什么意念在召喚著我,原來該上課了…

    Linux干貨 2017-07-15
  • 域名解析服務(DNS)之bind

    DNS簡介 DNS是Domain Name System的簡稱,DNS的主要作用就是講主機名解析成ip地址的過程,因為在計算機網絡當中是通過ip地址來進行主機間通信的,ipv4的地址是32位,人類記憶起來十分困難,更何況ipv6的128位,所以我們需要一個簡單容易記憶的字符串來替換ip地址,當我們訪問www.baidu.com它能知道訪問的是某個ip地址的服…

    Linux干貨 2016-10-09
  • shell腳本編程之函數

      在編寫腳本時經常會遇到某個任務需要重復使用的問題,需每次都要輸入同樣的代碼是件挺煩人的事情,還好可以通過編寫函數還簡化這項工作。   函數其實就是給一段代碼起個名字,在每次使用這段代碼的時候可以直接使用函數名來調用就可以了。 一、創建函數   創建函數的格式有兩種:   格式1:function 函數名{ &nbs…

    Linux干貨 2016-01-05

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-02 16:17

    內容格式把握得很好,希望可以將這段發展史和幾個關鍵性時間點熟知,加油!

欧美性久久久久