Linux簡介

計算機誕生                                                                                                                                                                                           

1946年2月14日,由美國軍方定製的世界上    第一臺電子計算機“電子數字積分計算機”(ENIAC Eletronic Numerical Integrator And Calculator)在美國賓夕法尼亞大學問世了。

 計算機(computer)俗稱電腦,是現代一種用於高速計算的電子計算機器,可以進行數值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數據的現代化智能電子設備。由硬件系統和軟件系統所組成,沒有安裝任何軟件的計算機稱爲裸機。


            QQ拼音截圖未命名.png

       馮· 諾依曼體系結構:1946 年計算機發明者馮· 諾依曼於提出計算機硬件由運算器、控制器、存儲器、輸入設備、輸出設備組成。

      


計算機硬件發展史:

  • 第一代計算機(1946-1957) 電子管時代

  • 第二代計算機(1958-1964) 晶體管時代

  • 第三代計算機(1965-1970)  集成電路 時代

  • 第四代計算機(1971 以後) 大規模集成電路 時代



操作系統
        操作系統(Operating System,簡稱OS)是管理和控制計算機硬件與軟件資源的計算機程序,是直接運行在“裸機”上的最基本的系統軟件,任何其他軟件都必須在操作系統的支持下才能運行。
        操作系統是用戶和計算機的接口,同時也是計算機硬件和其他軟件的接口。操作系統的功能包括管理計算機系統的硬件、軟件及數據資源,控制程序運行,改善人機界面,爲其它應用軟件提供支持,讓計算機系統所有資源最大限度地發揮作用,提供各種形式的用戶界面,使用戶有一個好的工作環境,爲其它軟件的開發提供必要的服務和相應的接口等。


UNIX 
        UNIX 是一個強大的多用戶、多任務操作系統,支持多種處理器架構,按照操作系統的分類,屬於分時操作系統。UNIX 最早由Ken Thompson和Dennis Ritchie於1969年在美國AT&T的貝爾實驗室開發。

   

 UNIX哲學

  • 小即是美。

  • 讓程序只做好一件事。

  • 儘可能早地建立原型。

  • 可移植性比效率更重要。

  • 數據應該保存爲文本文件。

  • Use software leverage to your advantage. 

  • 使用shell腳本來提高效率和可移植性。

  • 避免使用漂亮的用戶界面。

  • 爲每個程序添加一個過濾機制。



GNU項目介紹

  • 1983Richard Stallman發起目的是創建一套完全自由的操作系統

  • 1985Richard Stallman創立了自由軟件基金會FSF爲GNU提供技術、法律、財政支持,GNU計劃開發了大量的自由軟件

  • 1990年GNU計劃已經開發出包括Emacs、GCC等大部分軟件工具,但操作系統內核HUR進展緩慢

  • 1992年GNU與Linux結合,誕生完全自由的操作系統“GNU/LinuxGPL–GNU通用公共授權

  • Free Software的概念不是免費,自由軟件的重點在於自由權,而非價格。要了解其所代表的概念,你應該將“自由”想成是“言論自由”,而不是“免費啤酒”–理查德.斯托曼

  • GPL是一種授權方式,其精神是自由、分享、互惠

  • Copyleft 版權概念 ,傳染性允許他人任意的修改散步作品,唯其散步及修改的行爲和做法,亦限定於Copyleft的方式行之open source



    Linux

  • 核心編寫者Linus Torvalds 芬蘭人林納斯.託瓦茲,1991年9月發佈了Linux內核第一個版本

  • Linux的歷史與GNU緊密聯繫,linux內核遵循GNU 和GPL,但並不是GNU計劃的一部分,1994年3月linux1.0版正式發佈,Redhat公司成立,成爲最著名的linux發行商之一

  • 自由的類Unix操作系統

     Linux 操作系統:
        Linux  Kernel內核+ GNU 工具= 完整的類UNIX操作系統
        如:CentOS,Ubuntu,Android


    Linux 發行版

  •  slackware:SUSE Linux Enterprise Server (SLES)

  • opensuse 桌面

  •  debian: ubuntu ,mint

  •  redhat: : rhel: redhat enterprise linux

  • 每18 個月發行一個新版本

  • CentOS :兼容rhel 的格式

  • 中標麒麟:中標軟件

  • fedora :每6 個月發行一個新版本

  •  ArchLinux :輕量簡潔

  •  Gentoo :極致性能, 不提供傳統意義的安裝程序

  •  LFS: Linux From scratch  自制Linux

  •  Android: kernel+busybox (工具集)+java 虛擬機

  •  Linux 分支參考網站:http://futurist.se/gldt/

Linux的哲學思想
      1.一切皆文件接口
          把幾乎所有資源統統抽象爲文件形式,包括硬件設備,甚至通信接口等
      2. 用衆多功能單一的程序組成,一個程序只做一件事,並且做好
          組合小程序完成複查任務
      3.儘量避免跟用戶交互
           目標:易於以編程的方式實現自動化任務
      4.  使用文本文件保存配置信息



linux文件系統

1-2.png


    Linux有一個樹狀結構來組織文件。樹的頂端爲根目錄(/),節點爲目錄,而末端的葉子爲包含數據的文件。當我們給出一個文件的完整路徑時,我們從根目錄出發,經過沿途各個目錄,最終到達文件。

  • 根文件系統(rootfs) :root filesystem

  • 文件名稱 區分大小寫

  • 以. 開頭的文件爲隱藏文件

  • 路徑分隔的 /

  • 文件有兩類數據:

  •      元數據:metadata

  •      數據:data

  • 文件系統分層結構:LSB Linux Standard Base

  •  FHS: (Filesystem Hierarchy Standard)

  • 文件名最長255 個字節

  • 包括路徑在內文件名稱最長4095 個字節

/:根目錄,所有的目錄、文件、設備都在/之下,/就是Linux文件系統的組織者,也是最上級的領導者。


/bin:bin 就是二進制(binary)英文縮寫。在一般的系統當中,都可以在這個目錄下找到linux常用的命令。系統所需要的那些命令位於此目錄。


/boot:Linux的內核及引導系統程序所需要的文件目錄,比如 vmlinuz initrd.img 文件都位於這個目錄中。在一般情況下,GRUB或LILO系統引導管理器也位於這個目錄。


/cdrom:這個目錄在剛剛安裝系統的時候是空的。可以將光驅文件系統掛在這個目錄下。例如:mount /dev/cdrom /cdrom


/dev:dev 是設備(device)的英文縮寫。這個目錄對所有的用戶都十分重要。因爲在這個目錄中包含了所有linux系統中使用的外部設備。但是這裏並不是放的外部設備的驅動程序。這一點和常用的windows,dos操作系統不一樣。它實際上是一個訪問這些外部設備的端口。可以非常方便地去訪問這些外部設備,和訪問一個文件,一個目錄沒有任何區別。


/etc:etc這個目錄是linux系統中最重要的目錄之一。在這個目錄下存放了系統管理時要用到的各種配置文件和子目錄。要用到的網絡配置文件,文件系統,x系統配置文件,設備配置信息,設置用戶信息等都在這個目錄下。


/home:如果建立一個用戶,用戶名是”xx”,那麼在/home目錄下就有一個對應的/home/xx路徑,用來存放用戶的主目錄。


/lib:lib是庫(library)英文縮寫。這個目錄是用來存放系統動態連接共享庫的。幾乎所有的應用程序都會用到這個目錄下的共享庫。因此,千萬不要輕易對這個目錄進行什麼操作,一旦發生問題,系統就不能工作了。


/lost+found:在ext2或ext3文件系統中,當系統意外崩潰或機器意外關機,而產生一些文件碎片放在這裏。當系統啓動的過程中fsck工具會檢查這裏,並修復已經損壞的文件系統。有時系統發生問題,有很多的文件被移到這個目錄中,可能會用手工的方式來修復,或移到文件到原來的位置上。


/mnt:這個目錄一般是用於存放掛載儲存設備的掛載目錄的,比如有cdrom等目錄。可以參看/etc/fstab的定義。


/media:有些linux的發行版使用這個目錄來掛載那些usb接口的移動硬盤(包括U盤)、CD/DVD驅動器等等。


/opt:這裏主要存放那些可選的程序。


/proc:可以在這個目錄下獲取系統信息。這些信息是在內存中,由系統自己產生的。


/root:Linux超級權限用戶root的家目錄。


/sbin:這個目錄是用來存放系統管理員的系統管理程序。大多是涉及系統管理的命令的存放,是超級權限用戶root的可執行命令存放地,普通用戶無權限執行這個目錄下的命令,這個目錄和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目錄是相似的,凡是目錄sbin中包含的都是root權限才能執行的。


/selinux :對SElinux的一些配置文件目錄,SElinux可以讓linux更加安全。


/srv 服務啓動後,所需訪問的數據目錄,舉個例子來說,www服務啓動讀取的網頁數據就可以放在/srv/www中


/tmp:臨時文件目錄,用來存放不同程序執行時產生的臨時文件。有時用戶運行程序的時候,會產生臨時文件。/tmp就用來存放臨時文件的。/var/tmp目錄和這個目錄相似。


/usr:這是linux系統中佔用硬盤空間最大的目錄。用戶的很多應用程序和文件都存放在這個目錄下。在這個目錄下,可以找到那些不適合放在/bin或/etc目錄下的額外的工具


/usr/local:這裏主要存放那些手動安裝的軟件,即不是通過“新立得”或apt-get安裝的軟件。它和/usr目錄具有相類似的目錄結構。讓軟件包管理器來管理/usr目錄,而把自定義的腳本(scripts)放到/usr/local目錄下面、。


/usr/share :系統共用的東西存放地,比如 /usr/share/fonts 是字體目錄,/usr/share/doc和/usr/share/man幫助文件。


/var:這個目錄的內容是經常變動的,看名字就知道,可以理解爲vary的縮寫,/var下有/var/log 這是用來存放系統日誌的目錄。/var/ www目錄是定義Apache服務器站點存放目錄;/var/lib 用來存放一些庫文件,比如MySQL的,以及MySQL數據庫的的存放地。




Shell  是Linux 系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令並把它送入內核去執行


   shell 也被稱爲LINUX 的命令解釋器(command interpreter) )

   shell 是一種高級程序設計語言

        輸入命令後回車:

        提請shell 程序找到鍵入命令所對應的可執行程序或代碼,並由其分析後提交給內核分配資源將其運行起來



    在shell 中可執行的命令有兩類:

   內部命令:由shell 自帶的,而且通過某命令形式提供

     help  內部命令列表

     enable cmd  可以啓用

     enable –n cmd  禁用 內部 命令

     enable –n  查看所有禁用的內部命令


   外部命令:在文件系統路徑下有對應的可執行程序文件

       查看路徑:which -a |–skip-alias ; whereis

   

   區別指定的命令是內部或外部命令:

       # type COMMAND



    使用手冊  MAN  章節                /usr/share/man

1、Standard commands (標準命令)
2、System calls (系統調用)
3、Library functions (庫函數)
4、Special devices (設備說明)
5、File formats (文件格式)
6、Games and toys (遊戲和娛樂)
7、Miscellaneous (雜項)
8、Administrative Commands (管理員命令)
9 其他(Linux特定的), 用來存放內核例行程序的文檔。
 man 常用於命令參考 ,GNU 工具info 適合通用文檔參考。
  •  沒有參數, 列出所有的頁面

  •   info  頁面的結構就像一個網站

  •   每一頁分爲“節點”

  •  鏈接節點之前 *

 info [ 命令 ]  //獲取命令的在線文檔;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章