Linux簡述

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

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

             計算機組成

       馮· 諾依曼體系結構: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文件系統

文件系統目錄

    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操作系統不一樣。它實際上是一個訪問這些外部設備的端口??梢苑浅7奖愕厝ピL問這些外部設備,和訪問一個文件,一個目錄沒有任何區別。

/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 [ 命令 ]  //獲取命令的在線文檔;
 主流發行版官方文檔:
    https://www.redhat.com/doc

原創文章,作者:Mr-Xiao,如若轉載,請注明出處:http://www.www58058.com/71310

(0)
Mr-XiaoMr-Xiao
上一篇 2017-03-18
下一篇 2017-03-18

相關推薦

  • Linux的正則表達式grep,egrep

    Linux的正則表達式grep,egrep 一、概念 正則表達式是對字符串操作的一種邏輯公式,用事先定義好的一組特殊字符,組成一個“規則字符集合”,根據用戶指定的文本模式對目標文件進行逐行搜索匹配,顯示能被模式匹配到的結果。 給定一個正則表達式和另一個目標字符串,我們可以從給定的字符串中通過匹配模型,過濾字符串中不想要的的字符串,得到目標字符串,減少工作量?!?/p>

    Linux干貨 2017-05-07
  • ls的常用用法

    第一個命令

    2018-03-26
  • 馬哥教育網絡班20期+第一周課程練習

    一、計算機的組成及其功能。 計算機是由幾個單元所組成,輸入單元,輸出單元,運算器,控制器,存儲器,5大單元組成  1、運算器 又稱運算器又稱算術邏輯單元,它是計算機對數據進行加工處理的部件,包括算術運算(加、減、乘、除等)和邏輯運算(與、或、非、異或、比較等)。 2、控制器 負責從存儲器中取出指令,并對指令進行譯碼;根據指令的要求,按時間的先后順序…

    Linux干貨 2016-06-23
  • 初識Linux

    在這篇文章中你講看到如下內容: 1.       計算機的組成及功能; 2.       Linux發行版之間的區別和聯系; 3.       Linux發行版的基礎目錄及功用規定…

    Linux干貨 2016-12-01
  • Python函數式編程指南(四):生成器

    生成器是迭代器,同時也并不僅僅是迭代器,不過迭代器之外的用途實在是不多,所以我們可以大聲地說:生成器提供了非常方便的自定義迭代器的途徑。 這是函數式編程指南的最后一篇,似乎拖了一個星期才寫好,嗯…… 轉載請注明原作者和原文地址:) 4. 生成器(generator) 4.1. 生成器簡介 首先請確信,生成器就是一種迭代器。生成器擁有next方法并且行為與迭代…

    Linux干貨 2015-03-11
  • Systemd服務

    POST –> Boot Sequence –> Bootloader –> kernel + initramfs(initrd) –> rootfs –> /sbin/initinit:CentOS 5: SysV initCentOS 6: UpstartCentO…

    Linux干貨 2015-03-02

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-20 10:00

    對計算機及linux的起源寫的很詳細,贊一個

欧美性久久久久