天天看點

Linux基礎知識

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chinahuyong/article/details/2573403

Linux最早是由芬蘭赫爾辛基大學一位叫Linus Torvalds的學生設計的.它是一套免費使用和自由傳播的

類NUIX系統,源代碼開發,能在各類硬體平台(包括Intel x86系列和RISC處理器)上運作.

Linux受廣大計算機愛好者喜愛的原因:

 1.Linux在pc計算機上實作了全部的UNIX特性,具有多任務,多使用者的能力,而且在很多方面相當穩定高效.

 2.Linux屬于自由軟體,使用者不需要支付任何費用就可以獲得它及其它的原代碼,并可以對它進行須改,無償使用它,無限制傳播.

Linux具有以下主要特性:

  開放性

  開放性是指系統遵循世界标準規範,特别是遵循開放系統互連(OSI)國際标準。凡遵循國際标準所開發的硬體和軟體,都能彼此相容,可友善地實作互連。

  多使用者

  多使用者是指系統資源可以被不同使用者各自擁有使用,即每個使用者對自己的資源(例如:檔案、裝置)有特定的權限,互不影響。Linux和Unix都具有多使用者的特性。

  多任務

  多任務是現代計算機的最主要的一個特點。它是指計算機同時執行多個程式,而且各個程式的運作互相獨立。Linux系統排程每一個程序平等地通路微處理器。由于CPU的處理速度非常快,其結果是,啟動的應用程式看起來好像在并行運作。事實上,從處理器執行一個應用程式中的一組指令到Linux排程微處理器再次運作這個程式之間隻有很短的時間延遲,使用者是感覺不出來的。

  良好的使用者界面

  Linux向使用者提供了兩種界面:'使用者界面和系統調用。

  Linux的傳統使用者界面是基于文本的指令行界面,即shell,它既可以聯機使用,又可存在檔案上脫機使用。shell有很強的程式設計能力,使用者可友善地用它編制程式,進而為使用者擴充系統功能提供了更進階的手段。可程式設計Shell是指将多條指令組合在一起,形成一個Shell程式,這個程式可以單獨運作,也可以與其他程式同時運作。

  系統調用給使用者提供程式設計時使用的界面。使用者可以在程式設計時直接使用系統提供的系統調用指令。系統通過這個界面為使用者程式提供低級、高效率的服務。

Linux還為使用者提供了圖形使用者界面。它利用滑鼠、菜單、視窗、滾動條等設施,給使用者呈現一個直覺、易操作、互動性強的友好的圖形化界面。

  裝置獨立性

  裝置獨立性是指作業系統把所有外部裝置統一當作成檔案來看待,隻要安裝它們的驅動程式,任何使用者都可以象使用檔案一樣,操縱、使用這些裝置,而不必知道它們的具體存在形式。

具有裝置獨立性的作業系統,通過把每一個外圍裝置看作一個獨立檔案來簡化增加新裝置的工作。當需要增加新裝置時、系統管理者就在核心中增加必要的連接配接。這種連接配接(也稱作裝置驅動程式)保證每次調用裝置提供服務時,核心以相同的方式來處理它們。當新的及更好的外設被開發并傳遞給使用者時,操作允許在這些裝置連接配接到核心後,就能不受限制地立即通路它們。裝置獨立性的關鍵在于核心的适應能力。其他作業系統隻允許一定數量或一定種類的外部裝置連接配接。而裝置獨立性的作業系統能夠容納任意種類及任意數量的裝置,因為每一個裝置都是通過其與核心的專用連接配接獨立進行通路。

Linux是具有裝置獨立性的作業系統,它的核心具有高度适應能力,随着更多的程式員加入Linux程式設計,會有更多硬體裝置加入到各種Linux核心和發行版本中。另外,由于使用者可以免費得到Linux的核心源代碼,是以,使用者可以修改核心源代碼,以便适應新增加的外部裝置。

  供了豐富的網絡功能

  完善的内置網絡是Linux的一大特點。Linux在通信和網絡功能方面優于其他作業系統。其他作業系統不包含如此緊密地和核心結合在一起的連接配接網絡的能力,也沒有内置這些聯網特性的靈活性。而Linux為使用者提供了完善的、強大的網絡功能。

  支援Internet是其網絡功能之一。Linux免費提供了大量支援Internet的軟體,Internet是在Unix領域中建立并繁榮起來的,在這方面使用Linux是相當友善的,使用者能用Linux與世界上的其他人通過Internet網絡進行通信。

  檔案傳輸是其網絡功能之二。使用者能通過一些Linux指令完成内部資訊或檔案的傳輸。

遠端通路是其網絡功能之三。Linux不僅允許進行檔案和程式的傳輸,它還為系統管理者和技術人員提供了通路其他系統的視窗。通過這種遠端通路的功能,一位技術人員能夠有效地為多個系統服務,即使那些系統位于相距很遠的地方。

  可靠的系統安全

  Linux采取了許多安全技術措施,包括 對讀、寫進行權限控制 帶保護的子系統 審計跟蹤 核心授權等,這為網絡多使用者環境中的使用者提供了必要的安全保障。

  良好的可移植性

  可移植性是指将作業系統從一個平台轉移到另一個平台使它仍然能按其自身的方式運作的能力.

Linux是一種可移植的作業系統,能夠在從微型計算機到大型計算機的任何環境中和任何平台上運作。

可移植性為運作Linux的不同計算機平台與其他任何機器進行準确而有效的通信提供了手段,不需要另外增加特殊的和昂貴的通信接口。

   在說Linux特點時,也順别提一下它的缺點,Linux沒有核心團隊,來自世界各地的愛好者都可以釋出自己的更新檔(patch),缺點是源代碼可能雜亂無章并且可能互相沖突.其實從另個方面說也是優點,愛好者都可以釋出自己的更新檔(patch),這使Linux充滿着活力,不斷更新進步.

Linux與其他作業系統的差別

  Linux可以與MS-DOS、Windows等其他作業系統共存于同一台機器上。它們均為作業系統,具有一些共性,但是互相之間各有特色,有所差別。至于MS-DOS、Windows對我們一般計算機愛好來說是非常熟悉的作業系統了,在此隻列出Linux與UNIX的差別.

  某些PC機的Unix和Linux在實作方面相類似。幾乎所有的商業Unix版本都基本支援同樣的軟體、程式設計環境和網絡特性。然而,Linux和Unix的商業版本依然存在許多差别。Linux支援的硬體範圍和商業Unix不一樣。一般來說,商業Unix支援的硬體多一些,可是Linux支援的硬體也在不斷擴大。突出的是,Linux至少和商用Unix一樣穩定。對許多使用者來說,最重要的因素是價格。Linux是免費軟體,使用者可以從Internet網上下載下傳。如果上網不友善,可以很便宜地通過郵購得到Linux的磁盤或CD-ROM。當然也可以直接從朋友那裡得到。商業Unix的價值不應被貶低。除了軟體本身的價格外,使用者還需支付文檔、售後支援和質保費。對于較大的機構,這些都很重要,但是PC機使用者也許從中得不到什麼好處。許多商業公司和大學等機關已經發現,在實驗室用廉價的PC機運作Linux比用工作站運作商業Unix還好。Linux可以在PC機上提供工作站的功能,而PC機的價格是工作站的幾分之一。也有一些針對PC機的便宜的Unix,其中最有名的是386BSD。在許多方面,386BSD軟體包和Linux相容,但Linux更适合使用者的需求。最顯著的是,Linux的開發是開放的,任何志願者都可以對開發過程做出貢獻。相比之下,386BSD是由封閉的團隊開發的。正是這樣,這兩種産品存在着嚴重的概念上和設計上的差别:Linux的目标是從頭開始開發一個完整的Unix系統;386BSD的目标則是對現有的BSD做些修改,以适合80386系統。當然現在也有許多免費的在PC機上運作的UNIX,如NetBSD,FreeBSD,OpenBSD等,NetBSD,FreeBSD,OpenBSD在硬體支援方面不如Linux,在系統性能方面,具專家分析,FreeBSD在網絡性能,軟體移植和系統規範化上比Linux略強些.

Linux下的目錄樹

  /

  這就是根目錄。在Windows,DOS或者其他類似的作業系統裡面,每個分區都會有一個相應的根目錄。但是Linux和其他Unix系統把所有的檔案都放在一個目錄樹裡面,/ 就是唯一的根目錄。一般來講,根目錄下面很少儲存什麼檔案,或者隻有一個核心映像在這裡。

  /boot

 很多Linux系統把核心映像和其他一些和啟動有關的檔案放在這裡。

  /tmp

  一般隻有啟動的時候産生的臨時檔案才會放在這個地方。我們自己的那些臨時檔案都放在 /var/tmp。

  /mnt

  這個目錄下面放着一些用來mount其他裝置的子目錄,比如說/mnt/cdrom或者/mnt/floppy。

  /lib

  啟動的時候所需要用到的庫檔案都放在這個目錄下。那些非啟動用的庫檔案都會放在/usr/lib下。核心子產品是被放在/lib/modules/(核心版本)下的。

  /proc

  這個目錄在磁盤上其實是不存在的。裡面的檔案都是關于目前的系統狀态的,包括正在運作的程序,硬體狀态,記憶體使用的多少……

  /dev

  這個目錄下儲存着所有的裝置檔案。裡面有一些Linux核心建立的用來控制硬體裝置的特殊檔案。注意,網卡裝置檔案(eth0,ppp0等)不在這兒。

  /var

  這裡有一些被系統改變過的資料。比如說/var/tmp,就是用來儲存臨時檔案的。還有很多其他的程序和子產品把它們的記錄檔案也放在這個地方。下面将會列舉一些重要的子目錄:

  /var/log

  這裡放着絕大部分的記錄檔案。随着時間的增長,這個目錄可能會變得很臃腫。是以需要定期來清理一下。

  /var/run

  包括了各種運作時的小資訊。

  /var/lib

  包括了一些系統運作的時候需要的檔案。如果你用筆記本上網,/var/lib/pcmcia/stab可能會對你有用。

  /var/spool

  郵件,新聞,列印序列的所在地。

  /root

  Root使用者的主目錄。

  /home

  一般使用者的主目錄都會放在這個目錄下。你可以通過$ cd ~ 來進入你自己的主目錄。

  /etc

  如果你是Root使用者的話,這個目錄應該是你最常來的地方。這裡儲存着絕大部分的系統配置檔案。相對來講,單個使用者的系統配置檔案将會儲存在這個使用者自己的主目錄裡面。這裡的檔案會根據你所安裝的軟體而增減。下面将會列舉一下重要的子目錄:

  /etc/X11

  這裡放着X系統所需要的配置檔案。XF86Config就是把配置儲存到這個地方的。/etc/X11/fonts裡面放着一些伺服器需要的字型。還有一些視窗管理器存放的配置檔案也是放在這個地方的。

  /etc/init.d

  這個目錄儲存着啟動描述檔案,包括各種子產品和服務的加載描述。是以如果不清楚的話,最好不要随便删這裡的東西。這裡的檔案都是系統進行配置的,不是使用者自己用來配置的。

  /etc/rcS.d

這裡放着一些連接配接到/etc/init.d的連接配接檔案,根據runlevel的不同而執行相應的描述。這裡的檔案名都是由S來開頭的,然後是一個兩位的數字——表示各種服務啟動的順序。比如,S24foo就是在S42bar前面執行的。接着就是相應的連接配接到/etc/init.d下面的檔案的名字了。

  /etc/rc0.d - /etc/rc6.d

  這裡面也是一些連接配接檔案,和/etc/rcS.d差不多。不同的是,這些隻會在指定的runlevel下運作相應的描述。0表示關機,6表示重新開機。所有以 K開頭的檔案表示關閉,所有以S開頭的檔案表示重新開機。目前來講,檔案的命名方式和/etc/rcS.d是一樣的。注意,在Debian下,2表示啟動。

  /bin, /sbin

這裡分别放着啟動的時候所需要的普通程式和系統程式。很多程式在啟動以後也很有用,它們放在這個目錄下是為它們會經常被其他程式所調用。

  /usr

  這是一個很龐大的目錄,幾乎所有的檔案都放在這下面,除了上面所說的那些。下面将會列舉一些重要的子目錄:

  /usr/X11R6, /usr/X11, /usr/Xfree86

  這裡面儲存着X系統所需要的檔案,它的目錄結構和/usr是一樣的。

  /usr/bin

  v二進制可執行檔案存放的目錄,這裡放着絕大部分的應用程式。

  /usr/sbin

  這裡放着絕大部分的系統程式。

  /usr/games

  遊戲程式和相應的資料會放在這裡。

  /usr/include

  這個目錄儲存着C和C++的頭檔案。除非你是程式員,否則你可能不會感興趣。

  /usr/lib

  啟動時用不到的庫檔案都會被放在這裡。

  /usr/info

  這裡儲存着GNU Info程式所需要的資料。

  /usr/man

  這裡儲存着man程式所需要的資料。

  /usr/src

  這裡儲存着源代碼檔案。Linux核心的源代碼都放在/usr/src/linux下了。

  /usr/doc

  這裡儲存着各種文檔檔案。這些檔案可以幫助你了解Linux,解決問題和提供一些技巧。或者你可以通過通路

http://www.linuxdoc.org

來活得更多的知識。

  /usr/local

  這裡面儲存着本地計算機所需要的檔案。在使用者進行遠端通路的時候特别有意義。這個目錄在有些Linux系統下就是一個單獨的分區,存放一些這台機子所屬的那個使用者的檔案。裡面的結構和/usr是一樣的。

  /usr/shared, /usr/share

  這裡儲存着各種共享檔案,比如說某個應用程式所需要的聲音檔案。

繼續閱讀