Linux的發展演變及其哲學思想

Linux的發展演變及其哲學思想

一:?計算機的組成及其功能 (軟件和硬件)

硬件部分:

(一)控制器(Control):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。

(二)運算器(Datapath):運算器的功能是對數據進行各種算術運算和邏輯運算,即對數據進行加工處理。

(三)存儲器(Memory):存儲器的功能是存儲程序、數據和各種信號、命令等信息,并在需要時提供這些信息。

(四)輸入(Input system):輸入設備是計算機的重要組成部分,輸入設備與輸出設備合稱為外部設備,簡稱外設,輸入設備的作用是將程序、原始數據、文字、字符、控制命令或現場采集的數據等信息輸入到計算機。常見的輸入設備有鍵盤、鼠標器、光電輸入機、磁帶機、磁盤機、光盤機等。

(五)輸出(Output system):輸出設備與輸入設備同樣是計算機的重要組成部分,它把外算機的中間結果或最后結果、機內的各種數據符號及文字或各種控制信號等信息輸出出來。微機常用的輸出設備有顯示終端CRT、打印機、激光印字機、繪圖儀及磁帶、光盤機等。

Linux的發展演變及其哲學思想

計算機的五大單元

輸入單元(?I/O設備):包括鍵盤,鼠標等;

主機部分:系統單元,主板,儲存器等;

輸出單元(?I/O設備):屏幕、打印機等

軟件部分

計算機軟件(ComputerSoftware)是指計算機系統中的程序及其文檔。程序是計算任務的處理對象和處理規則的描述;文檔是為了便于了解程序所需的闡述性資料。程序必須裝入機器內部才能工作,文檔一般是給人看的,不一定裝入機器。軟件是用戶與硬件之間的接口界面。用戶主要是通過軟件與計算機進行交流。軟件是計算機系統設計的重要依據。為了方便用戶,為了使計算機系統具有較高的總體效用,在設計計算機系統時,必須通盤考慮軟件與硬件的結合,以及用戶的要求和軟件的要求。

(一)軟件的正確含義應該是:

(1)運行時,能夠提供所要求功能和性能的指令或計算機程序集合。

(2)程序能夠滿意地處理信息的數據結構。

(3)描述程序功能需求以及程序如何操作和使用所要求的文檔。

(二)軟件具有與硬件不同的特點:

(1)表現形式不同硬件有形,有色,有味,看得見,摸得著,聞得到。而軟件無形,無色,無味,看不見,摸不著,聞不到。軟件大多存在人們的腦袋里或紙面上,它的正確與否,是好是壞,一直要到程序在機器上運行才能知道。這就給設計、生產和管理帶來許多困難。

(2)生產方式不同軟件是開發,是人的智力的高度發揮,不是傳統意義上的硬件制造。盡管軟件開發與硬件制造之間有許多共同點,但這兩種活動是根本不同的。

(3)要求不同硬件產品允許有誤差,而軟件產品卻不允許有誤差。

(4)維護不同硬件是要用舊用壞的,在理論上,軟件是不會用舊用壞的,但在實際上,軟件也會變舊變壞。因為在軟件的整個生存期中,一直處于改變維護狀態。

Linux的發展演變及其哲學思想

計算機系統

二:Linux發行版之間的聯系與區別

(一)Linux基本概況

Linux是一類Unix計算機操作系統的統稱。Linux操作系統的內核的名字也是”Linux”。Linux操作系統也是自由軟件和開放源代碼發展中最著名的例子。嚴格來講,Linux這個詞本身只表示Linux內核,但在實際上人們已經習慣了用Linux來形容整個基于Linux內核,并且使用GNU 工程各種工具和數據庫的操作系統。Linux得名于計算機業余愛好者Linus 。

TorvaldsLinux是一個誕生于網絡、成長于網絡且成熟于網絡的奇特的操作系統。1991年,芬蘭大學生Linus Torvalds萌發了開發一個自由的UNIX操作系統的想法,當年,Linux就誕生了,為了不讓這個羽毛未豐的操作系統夭折,Linus將自已的作品Linux通過Internet發布。從此一大批知名的、不知名的電腦黑客、編程人員加入到開發過程中來,Linux逐漸成長起來。

Linux一開始是要求所有的源碼必須公開,并且任何人均不得從Linux交易中獲利。然而這種純粹的自由軟件的理想對于Linux的普及和發展是不利的,于是Linux開始轉向GPL,成為GNU陣營中的主要一員。

Linux憑借優秀的設計,不凡的性能,加上IBM、INTEL、CA、CORE、ORACLE等國際知名企業的大力支持,市場份額逐步擴大,逐漸成為主流操作系統之一。

(二)Linux的三大發行版

Linux的發行版本可以大體分為兩類,一類是商業公司維護的發行版本,一類是社區組織維護的發行版本,前者以著名的Redhat(RHEL)為代表,后者以Debian為代表。下面介紹一下各個發行版本的特點:

Debian:

Debian,或者稱Debian系列,包括Debian和Ubuntu等。Debian是社區類Linux的典范,是迄今為止最遵循GNU規范 的Linux系統。Debian最早由Ian Murdock于1993年創建,分為三個版本分支(branch): stable, testing 和 unstable。其中,unstable為最新的測試版本,其中包括最新的軟件包,但是也有相對較多的bug,適合桌面用戶。testing的版本都經 過unstable中的測試,相對較為穩定,也支持了不少新技術(比如SMP等)。而stable一般只用于服務器,上面的軟件包大部分都比較過時,但是 穩定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其實Redhat的YUM也是在模仿Debian的APT方式,但在二進制文件發行方式中,APT應該是最好的了。

Ubuntu嚴格來說不能算一個獨立的發行版本,Ubuntu是基于Debian的unstable版本加強而來,可以這么說,Ubuntu就是 一個擁有Debian所有的優點,以及自己所加強的優點的近乎完美的 Linux桌面系統。根據選擇的桌面系統不同,有三個版本可供選擇,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的 Xubuntu。特點是界面非常友好,容易上手,對硬件的支持非常全面,是最適合做桌面系統的Linux發行版本。

S.u.S.E:

SUSE?Linux原是以Slackware Linux為基礎,并提供完整德文使用界面的產品。1992年 Peter McDonald成立了Softlanding Linux System(SLS)這個發行版。這套發行版包含的軟件非常多,更首次收錄了X Window及TCP/IP等套件。Slackware就是一個基于SLS的發行版。

Redhat:

Redhat,應該稱為Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所謂的Redhat Advance Server,收費版本)、Fedora Core(由原來的Redhat桌面版本發展而來,免費版本)、CentOS(RHEL的社區克隆版本,免費)。Redhat應該說是在國內使用人群最多 的Linux版本,甚至有人將Redhat等同于Linux,而有些老鳥更是只用這一個版本的Linux。所以這個版本的特點就是使用人群數量大,資料非 常多,言下之意就是如果你有什么不明白的地方,很容易找到人來問,而且網上的一般Linux教程都是以Redhat為例來講解的。Redhat系列的包管 理方式采用的是基于RPM包的YUM包管理方式,包分發方式是編譯好的二進制文件。穩定性方面RHEL和CentOS的穩定性非常好,適合于服務器使用, 但是Fedora Core的穩定性較差,最好只用于桌面應用。

Linux的發展演變及其哲學思想

Linux三大版本

三:Linux的哲學思想

Linux的哲學思想:

(1)一切皆文件:

把幾乎所有資源統統抽象為文件形式;不僅普通的文件,目錄、字符設備、塊設備、 套接字等包括硬件設備,甚至通信接口在Linux 中都是以文件被對待;

(2)由眾多功能單一的程序組成:

一個程序只做一件事,并且做好;程序和可執行文件不要太復雜,這樣才能保證了Linux內核的高效運行。對于復雜的功能Linux能通過許多簡單程序的組合等方式實現,在保證簡單功能的高效性的同時,復雜的程序也必然是高效性的;

(3)盡量避免跟用戶交互:

Linux上支持的腳本語言種類十分豐富、易學簡單,易于使用者以腳本的方式實現自動化任務。

(4)使用文本文件保存配置信息:

Linux所有的配置文件都存放在文本配置文件當中,無論什么配置修改都只需修改其配置文件即可,配置文件時文本形式的只需任意一款文本編輯器修改即可而不是類似于windows那樣將保存在注冊表中,并且windows的注冊表需要專門的二進制或十六進制的編輯器才可編輯,修改比較復雜

四:Linux中基礎命令介紹

1、 ifconfig:此命令用于顯示或設置網絡設備。ifconfig可設置網絡設備的狀態,或是顯示目前的設置。

實例

Linux的發展演變及其哲學思想

顯示網絡設備信息

啟動關閉指定網卡

# ifconfig eth0 down? ? ?//關閉網卡

# ifconfig eth0 up? ? ? ? ? //啟動網卡

用ifconfig修改MAC地址

# ifconfig eth0 down? ? ?//關閉網卡

# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE? ? ? //修改MAC地址

# ifconfig eth0 up? ? ? ? ?//啟動網卡

# ifconfig eth1 hw ether 00:1D:1C:1D:1E? ? ? //關閉網卡并修改MAC地址

# ifconfig eth1 up? ? ?//啟動網卡

配置IP地址

# ifconfig eth0 192.168.1.56? ? ? //給eth0網卡配置IP地址

# ifconfig eth0 192.168.1.56 netmask 255.255.255.0? ? // 給eth0網卡配置IP地址,并加上子掩碼

# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255

// 給eth0網卡配置IP地址,加上子掩碼,加上個廣播地址

2、echo:用于字符串的輸出。

1.顯示普通字符串:

Linux的發展演變及其哲學思想

回顯

2.顯示命令執行結果:

Linux的發展演變及其哲學思想

結果將顯示當前日期

3.顯示結果定向至文件:

Linux的發展演變及其哲學思想

輸出重定向(覆蓋原文件)

3、tty:此命令用于顯示終端機連接標準輸入設備的文件名稱。

在Linux操作系統中,所有外圍設備都有其名稱與代號,這些名稱代號以特殊文件的類型存放于/dev目錄下。你可以執行tty(teletypewriter)指令查詢目前使用的終端機的文件名稱。

語法

tty [-s][–help][–version]

參數說明

-s或–silent或–quiet 不顯示任何信息,只回傳狀態代碼。

–help 在線幫助。

–version 顯示版本信息。

實例

Linux的發展演變及其哲學思想

顯示當前終端

4、export:此命令用于設置或顯示環境變量。

在shell中執行程序時,shell會提供一組環境變量。export可新增,修改或刪除環境變量,供后續執行的程序使用。export的效力僅及于該次登陸操作。

參數說明

-f? 代表[變量名稱]中為函數名稱;

-n? 刪除指定的變量。變量實際上并未刪除,只是不會輸出到后續指令的執行環境中;

-p? 列出所有的shell賦予程序的環境變量。

實例

Linux的發展演變及其哲學思想

列出當前的環境變量

5、pwd:此命令用于顯示工作目錄。

執行pwd指令可立刻得知您目前所在的工作目錄的絕對路徑名稱。

實例

Linux的發展演變及其哲學思想

查看當前所在目錄

6、history:主要用于顯示歷史指令記錄內容

參數說明:

-c? ? 清空命令歷史記錄;

-d??? 刪除命令歷史中的某條命令;

-n??? 打印最近的n條命令;

-w? ??將當前歷史命令緩沖區命令寫入歷史命令文件中。

實例

Linux的發展演變及其哲學思想

打印當前歷史記錄

7、startx:初始化一個 X 會話。

startx 命令簡化了啟動 X 會話的過程。

該命令執行下列操作:

設置用戶的 DISPLAY 環境變量以標識 X 服務器到 X 客戶機

當從工作站運行時,啟動 X 服務器

啟動 X 客戶機。

參數說明:

-d? ?Display :0 指定在啟動過程中傳遞給 X 客戶機的 X 服務器的顯示名稱;

-m? ?Window_Manager 當未找到 startup 腳本時,啟動窗口管理器;

-r???Resources 當未找到 startup 腳本時,裝入資源文件;

-t???為一個 X 終端啟動 X 客戶機;

-w? 為工作站上的 X 窗口會話啟動 X 服務器和 X 客戶機;

-wait? 當 xdm 命令調用 startx 時,防止重新啟動 X 會話;

-x???Startup 使用 startup 腳本啟動 X 窗口會話。

實例

Linux的發展演變及其哲學思想

在終端啟動X會話

8、shutdown:此指令可以關閉所有程序,并依用戶的需要,進行重新開機或關機的動作。


參數說明:

-c:當執行“shutdown -h 11:50”指令時,只要按+鍵就可以中斷關機的指令;

-f:重新啟動時不執行fsck;

-F:重新啟動時執行fsck

-h:將系統關機;

-k:只是送出信息給所有用戶,但不會實際關機;

-n:不調用init程序進行關機,而由shutdown自己進行;

-r:shutdown之后重新啟動;

-t<秒數>:送出警告信息和刪除信息之間要延遲多少秒

9、poweroff:此命令用來關閉計算機操作系統并且切斷系統電源。

參數說明:

-n:關閉操作系統時不執行sync操作;

-w:不真正關閉操作系統,僅在日志文件“/var/log/wtmp”中;

-d:關閉操作系統時,不將操作寫入日志文件“/var/log/wtmp”中添加相應的記錄;

-f:強制關閉操作系統;

-i:關閉操作系統之前關閉所有的網絡接口;

-h:關閉操作系統之前將系統中所有的硬件設置為備用模式。

10、reboot:通知系統重啟。

參數說明:

-d:重新開機時不把數據寫入記錄文件/var/tmp/wtmp。本參數具有“-n”參數效果;

-f:強制重新開機,不調用shutdown指令的功能;

-i:在重開機之前,先關閉所有網絡界面;

-n:重開機之前不檢查是否有未結束的程序;

-w:僅做測試,并不真正將系統重新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件。

11、hwclock:顯示硬件時鐘

hwclock命令,與clock命令是同一個命令,主要用來查詢和設置硬件時鐘。

參數說明:

? -r,?–show?????????讀取并打印硬件時鐘

? -s, –hctosys????? 將硬件時鐘同步到系統時鐘

? -w, –systohc???? 將系統時鐘同步到硬件時鐘

12、date:顯示系統時鐘

date命令可以用來顯示和修改系統日期時間,注意不是time命令。

參數說明:

%Y? YYYY格式的年份(Year)

%m? mm格式的月份(),01-12

%d?? dd格式的日期(day of month),01-31

%H?? HH格式的小時數(),00-23

%M? MM格式的分鐘數(),00-59

%S?? SS格式的秒數(),00-59

%F?? YYYY-mm-dd格式的完整日期(Full date),同%Y-%m-%d

%T?? HH-MM-SS格式的時間(Time),同%H:%M:%S

%s?? 自1970年以來的秒數。C函數time(&t) 或者Java中 System.currentTimeMillis()/1000, new Date().getTime()/1000

%w?? 星期幾,0-6,0表示星期天

%u?? 星期幾,1-7,7表示星期天

注意以上格式是可以任意組合的,還可以包括非格式串,比如 date “+今天是%Y-%d-%m,現在是$H:%M:%S”

hwclock和date的區別:在Linux中有硬件時鐘與系統時鐘等兩種時鐘。硬件時鐘是指主機板上的時鐘設備,也就是通??稍贐IOS畫面設定的時鐘。系統時鐘則是指kernel中 的時鐘。所有Linux相關指令與函數都是讀取系統時鐘的設定。因為存在兩種不同的時鐘,那么它們之間就會存在差異。根據不同參數設置,hwclock命令既可以將硬件時鐘同步到系統時鐘,也可以將系統時鐘同步到硬件時鐘。

五:Linux中獲取命令的幫助信息

常用的Linux幫助命令

1:man命令

man是Linux下的幫助指令,通過man指令可以查看Linux中的指令幫助、配置文件幫助和編程幫助等信息。

man幫助信息中主要有下面幾項

NAME:簡短的命令、數據名稱說明,ls – list directory contents:ls是指列出當前目錄下的內容。

SYNOPSIS Z執行命令語法(syntax)簡介。

DESCRIPTION:較為完整的秒數說明。

OPTIONS:針對SYNOPSIS部分中,有列舉的所有可用的選項說明。

COMMANDS:當這個程序在執行的時候,可在該程序中執行的命令。

FILES:這個程序或數據所使用或參考或連接到的某些文件。

SEE ALSO:這個命令或數據相關的其他說明。

EXAMPLE:一些可以參考的范例。

BUGS:是否有相關的錯誤。

man文檔在/usr/share/man下有man man1……man8.

man1 用戶命令及應用程序

man2 系統調用和內核出錯代碼

man3 庫調用

man4 設備驅動程序和網絡協議

man5 標準文件格式

man6 游戲和演示

man7 各種文件和文檔

man8 系統管理命令

man9 含糊的內核規范和接口

操作方法:

向后翻一屏:SPACE(空格)????????????????????向前翻一屏:b

向后翻一行:ENTER(回車)? ? ? ? ? ? ? ? ? ? ?向前翻一行:k

查找:/KEYWORD:自前向后? ? ? ? ? ? ? ? ?KEYWORD:自后向前

退出:q

2:info命令

Linux 中的大多數軟件開發工具都是來自自由軟件基金會的 GNU 項目,這些工具軟件件的在線文檔都以 info 文件的形式存在。info 程序是 GNU 的超文本幫助系統。

info 文檔一般保存在 /usr/info 目錄下,使用 info 命令查看 info 文檔。一般可看成是man的補充

3:help命令

用于顯示shell內部命令的幫助信息。help命令只能顯示shell內部的命令幫助信息。而對于外部命令的幫助信息只能使用man或者info命令查看

六:Linux發行版基礎目錄名稱、命名法則及公用規定

目錄描述:

/bin:可執行文件,系統命令,二進制文件

/sbin:管理命令,二進制文件

/boot:系統啟動相關文件,如內核、initrd、以及grub(bootloader)

/dev:設備文件,例如/dev/null

/etc:系統配置文件

/home:用戶家目錄,每個用戶家目錄通常默認為/home/username

/root:管理員家目錄

/lib:庫文件,如/lib/modules?內核模塊文件? ? 靜態庫:?.a? ? 動態庫: .dll,.so

/media:掛載點目錄,移動設備

/mnt:掛載點目錄,額外的臨時文件系統

/opt:可選目錄,第三方程序的安裝目錄

/proc:偽文件系統,系統不啟動則為空,啟動后顯示為內核映射文件

/sys:偽文件系統,跟硬件設備相關的屬性映射文件

/tmp:臨時文件

/var:可變化的文件,通常在系統重啟后刪除

/usr:全局共享的只讀文件

命名規則:

1:長度不能超過255個字符

2:不能使用 / 當文件名

3:嚴格區分大小寫

Linux的發展演變及其哲學思想

Linux基礎目錄

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/101512

(0)
啊鑫啊鑫
上一篇 2018-06-23
下一篇 2018-06-23

相關推薦

  • 第一周博客(3)

    Linux的哲學思想

    Linux筆記 2018-05-12
  • IO和管道

    輸入、輸出和管道的使用

    Linux筆記 2018-07-29
  • Linux的哲學思想

    1.一切皆文件
    2.小型,單一用途的程序
    3.配置信息保存在文本文件中
    4.盡量避免與用戶交互

    Linux筆記 2018-05-11
  • liunx筆記

    操作系統 :硬件驅動 ? ?進程管理 ? ?內存管理 ? 網絡管理 ? 安全管理 文件管理 。 編程語言 ? :低級語言 ? 機器語言 ?:0和1 ? 中級語言:c ? ?高級語言 :java ?python ? ? ? php . 服務器三大操作系統 ?:windows ? ? ?liunx ? ?unix. liunx 內核 ?:住版本號 ? 次版本號 …

    Linux筆記 2018-04-01
  • 構建WordPress

    所需要安裝包: centos7,httpd,php,php-mysql,mariadb-server centos6,httpd,php(http的php模塊包),php-mysql,mysql-server 包解釋: php-common:php解釋器安裝包; php:httpd的模塊安裝包; php-mysql:php模塊連接數據庫的功能擴展包; php…

    Linux筆記 2018-03-31
  • 相信過程-馬哥教育

    IT工程師工作和學習都是比較枯燥的,過于目標化忽略了過程本身并不適合我,如果我來這里能使我全心全意投入到一段學習當中,我覺得來這里目標就達到了。其他的事情自然會水到渠成。 大家共勉!

    2018-07-21
欧美性久久久久