2011年5月31日 星期二

Linux和Windows的區別,你們爭來爭去就是這些東東了

Linux和Windows的區別,你們爭來爭去就是這些東東了。

第一篇:

你從來只用過Windows,從來沒接觸過UNIX,只知道把一個文件拽 
來拽去,只知道硬盤就是C: D: E:卻從來沒有研究過分區表,也許 
會用VC編個程序,很習慣它的集成環境.... 



有一天,不管什麼原因了,也許是看報紙上那些把內存和硬盤都分不 
清楚的記者的吹噓,或者是老闆要求你用它作個項目,或者是同學 
們都有了你沒有覺得很土,或者你聽說找工作有這個的經驗就有更大 
希望....不管怎樣,你想在自己的機器上安裝一個Linux。 OK,這個
文章就是給你寫的,因為從現在開始,你會有成堆的問題你會覺得從前 
在windows那裡得來的有關計算機的經驗好像完全用不上。 你會覺得
“Linux怎麼這樣麻煩”。 你會有種從來沒有開過汽車但是得
把汽車拆開修理一樣覺得無處下手。 OK,這個文章就是為你寫的。

為什麼要學Linux。 其實你不必學習Linux,如果你就是想使用計算機
讓它使你的工作,比如打字,排版,統計數據等更有效率,Linux不 
行。 Windows,或者我推薦windows 2000是你最好的選擇,它對中文
的支持很好,非常穩定,上面有無數應用程序,而且如果你自己承擔 
風險,還可以使用盜版,免費。 Linux將會給你造成很多麻煩,安裝時
會造成系統數據丟失,無法驅動網卡/聲卡/顯示卡/顯示器,無法配置 
中文,圖形界面速度慢,等等。 從前在windows上很容易做到的比如
修改顯示頻率或者安裝新的網卡驅動在Linux下都變得好像要你自己重 
新上一次大一計算機原理課那麼討厭。 呵呵,那Linux有什麼好處呢?
你會問。 其實Linux沒什麼好處,從使用角度,它唯一的好處是它是
我們自己的,而windows再好,是Microsoft的。 “又能怎麼樣?”
你也許又問。 區別是,Linux可以讓你來研究它,通過使用Linux你可以
獲得更深一步對計算機的了解-- 而不只是一個全自動的盒子。 計算機
是一個很神奇的東西,你也許對那些寫出windows的程序員很崇拜(我 
是的),或者對那些能發明更好的算法更安全的操作系統的hacker(對不 
起,遠程攻擊系統的不是hacker)很崇拜,那麼你應當知道,坐在一個 
windows的機器前面整天就會用鼠標拖拽也許能給你一個很好的打字員 
的薪水,但是永遠無法讓你進入真正計算機的世界-- 成為一個自由 
思想的Hacker,或者說,你只能永遠是個windows的用戶-- 也沒什麼 
不好,很多領導還不會計算機呢-- 而不可能有機會自己寫一個windows。 
一個不太妙的結果是,當世界上充滿了windows的奴隸時,我們就得花 
更大的價錢從Microsoft那裡獲得這樣的技術,某些社會裡,我們管這個 
叫做剝削。 

講這麼多,無非是說,蘿蔔不能兩頭切,至少現在是這樣。 要想什麼
別人都給你做好,系統安裝一路回車,硬件配置點兩下鼠標,對不起, 
請用windows 2000。 如果你準備好了這一切,那麼接著看吧。
-- 

OK,你的第一個問題是:什麼是Linux,它和UNIX有什麼區別? 
問這個問題的原因呢,多半是你還在大一的時候一次去實驗室,看到 
高年紀學生在一個特大屏幕的機器上作題,你羨慕的看著他,問: 
“這是什麼計算機啊,這麼高級?”而他不無驕傲的說,“這是 
UNIX”。後來你懂的多了,知道那是SUN工作站,上面運行著Solaris, 
就是UNIX。 現在你又聽說Linux也是UNIX,是怎麼回事呢?

short answer:去看書,街上很多Linux的書第一章就是講他們的歷史 
和親屬關係的。 

long answer: UNIX是一個20還是30年前由幾個研究生在實驗室裡開始 
後來一個大公司把它商業化了的一個操作系統。 一來二去,它成長
並且佔領了市場。 當時它只是運行在只有大學才買得起一兩台的昂貴
機器上。 後來機器多了,公司多了,懂得人也多了,就分家了,而
“UNIX”這個名字由於法律關係,誰也不能說自己的操作系統是“UNIX” 
而只能說是“UNIX兼容”系統了。 所以現在“UNIX”系統是不存在的,
存在的只是一個遙遠的傳說。 那麼現在那些Solaris,AIX,IRIS都是什麼呢?
那些都是各公司在他們硬件平提上作的商業UNIX,這些系統都遵循一個 
叫POSIX的古怪標準,對了,這個標準呢,是後來UNIX太多太亂,大家編程 
接口甚至命令都不一​​樣了所以沒辦法座下來商量的一個協議。 

那麼Linux是什麼呢? Linux是基於PC(其它平台也有的支持)的UNIX兼容
系統,在跟UNIX的關係上,它不比任何其它UNIX兼容系統遠。 所以如果
你有“Solaris才是正統UNIX,Linux只是兼容”的想法,對不起你錯了, 
起碼你得把支持AIX的人打敗才行,他們還認為AIX才是正統UNIX呢。 
所以用Linux你可以學到有關UNIX的知識,這些知識絕大部分在其它商業 
UNIX上可以用得上。 當然,其核心思想絕對是相同的。 那麼在三年前只有
你的讀博士的輔導員才有機會在實驗室那台寶貝SUN上學的知識,你現在在 
PC機上就可以實踐了,這難道不是很妙的一件事情麼? 


第二個問題:我想裝一個Linux,最新的是哪個版本,我聽說過xxxlinux,yyylinux, 
還有國內某個公司鼎力推出的zzzlinux,到底哪個更好呢? 

首先你需要明白,Linux不是windows,它不是一個由一家商業公司維護的軟件, 
只有一個包裝。 Linux是可以任意包裝自由配置的東西。 任何一個人,一家公司
都可以按照自己的想法,比如加一點功能,加中文支持,作一個Linux出來。 這些
Linux雖然核心部分都一樣,但是他們所帶的各種軟件,缺省的配置都不一樣。 區別
是用一種Linux 發布(不同的Linux我們叫做不同的發布)也許硬件很好配置, 
各種軟件也好安裝,用另外一種也許速度快,再一種也許支持中文比較好。 總之
沒有白吃的午餐,在windows下想當然的東西在linux下也許需要你熬夜才能得到。 
所以從一開始選擇distribution就必須非常小心,否則因為自己剛好隨某個雜誌 
得到一個Linux發布就以為所有的都一樣就開始安裝,等硬盤數據毀了, 
或者網絡哭天蹌地也配不出來的時候,就晚了。 不是開玩笑,我知道windows下
安裝驅動程序就是鼠標點幾下,可是在Linux下,為了驅動一個網卡,折騰一夜 
是不希奇的-- 當然,我覺得這是值得的。 


所以,面對那麼多Linux distribution,你應當選擇哪個呢? 

比較著名的Linux distribution有: 
RedHat:最新版本6.2, 7.0beta。 由於RedHat公司已經上市,獲得了很多
商業的支持,所以它在硬件軟件兼容性上很好。 實際上它已經是Linux的
工業標準。 想像一下如果你是一個比如Oracle這樣廠商的老闆,你需要為
Linux開發一個版本,而不同的Linux dist需要單獨開發維護,為成本考慮你 
自然會只認准一個Linux。 

Slackware(7.1)。 很早就有的Linux,有很多老的忠實用戶,但現在越來越不行了。

SuSe Linux,德國人做的,在歐洲很流行,有一些驅動上的優勢。 

另外還有Debian,CorelLinux等dist,不一一介紹了。 

還有你會看到國內媒體上吹捧的各種“中文Linux”,他們的優勢主要是有 
中文處理。 但是如前一篇文章提到的,想用中文,用windows 2000最好。 實際上
我覺得一個老7字班的前輩跟我說的一句話很好:“(對我們來說)在計算機上看到 
中文本身就是一件很古怪的事情”。如果你是抱著學習計算機的目的而來,那麼 
你不可能避免閱讀英文文檔。 即使是microsoft的文檔,有關編程的文檔,最新的也
全是英文。 當然,要上BBS,看中文網頁等,用英文的dist一樣能做到。 在百度搜索:了解windows和LINUX的區別



第二篇:


和Linux 一樣,Windows系列是完全的多任務操作系統。 它們支持同樣的用戶接口、網絡和安全性。 但是,Linux和Windows的真正區別在於,Linux 事實上是Unix的一種版本,而且來自Unix的貢獻非常巨大。 是什麼使得Unix如此重要? 不僅在於對多用戶機器來說,Unix是最流行的操作系統,而且在於它是免費軟件的基礎。 在Internet上,大量免費軟件都是針對Unix系統編寫的。 由於有眾多的Unix廠商,所以Unix也有許多實現方法。 沒有一個單獨的組織負責Unix的分發。 現在,存在一股巨大的力量推動Unix社團以開放系統的形式走向標準化。 另一方面Windows系列是專用系統,由開發操作系統的公司控制接口和設計。 在這個意義上這種公司利潤很高,因為它對程序設計和用戶接口設計建立了嚴格的標準,和那些開放系統社團完全不一樣。 一些組織正在試圖完成標準化Unix程序設計接口的任務。 特別要指出的是,Linux完全兼容POSIX.1標準。

安全問題對於IT管理員來說是需要長期關注的。 主管們需要一套框架來對操作系統的安全性進行合理的評估,包括:基本安全、網絡安全和協議,應用協議、發布與操作、確信度、可信計算、開放標準。 在本文中,我們將按照這七個類別比較微軟Windows和Linux的安全性。 最終的定性結論是:目前為止,Linux提供了相對於Windows更好的安全性能,只有一個方面例外(確信度)。

無論按照什麼標準對Windows和Linux進行評估,都存在一定的問題:每個操作系統都不止一個版本。 微軟的操作系統有Windows98、 Windows NT、 Windows 2000、 Windows 2003 Server和Windows CE,而Linux的發行版由於內核(基於2.2、2.4、2.6)的不同和軟件包的不同也有較大的差異。 我們本文所使用的操作系統,都是目前的技術而不是那些"古老"的解決方案。

用戶需要記住:Linux和Windows在設計上就存在哲學性的區別。 Windows操作系統傾向於將更多的功能集成到操作系統內部,並將程序與內核相結合;而Linux不同於Windows,它的內核空間與用戶空間有明顯的界限。 根據設計架構的不同,兩者都可以使操作系統更加安全。

Linux和Windows安全性的基本改變

對於用戶來說,Linux和Windows的不斷更新引發了兩者之間的競爭。 用戶可以有自己喜歡的系統,同時也在關注競爭的發展。 微軟的主動性似乎更高一些――這是由於業界"冷嘲熱諷"的"激勵"與Linux的不斷發展。 微軟將在下幾個月對Windows安全進行改觀,屆時微軟會發布Windows XP的WindowsXP Service Pack 2。 這一服務包增強了Windows的安全性,關閉了原先默認開放的許多服務,也提供了新的補丁管理工具,例如:為了避免受到過多無用的信息,警告服務和信使服務都被關閉。 大多數情況下,關閉這些特性對於增強系統安全性是有好處的,不過很難在安全性與軟件的功能性、靈活性之間作出折衷。

最顯著的表現是:微軟更加關注改進可用性的同時增強系統的安全性。 比如:2003年許多針對微軟的漏洞攻擊程序都使用可執行文件作為電子郵件的附件(例如MyDoom)。 Service Pack2包括一個附件執行服務,為Outlook/Exchange、 Windows Messenger和Internet Explorer提供了統一的環境。 這樣就能降低用戶運行可執行文件時感染病毒或者蠕蟲的威脅性。 另外,禁止數據頁的可執行性也會限制潛在的緩衝區溢出的威脅。 不過,微軟在WindowsXP Service Pack 2中並沒有修改Windows有問題的架構以及安全傳輸的部分,而是將這部分重擔交給了用戶。

微軟的重點顯然是支持應用程序的安全性。 WindowsXP Service Pack 2中增強的許多方面都是以Outlook/Exchange和Internet Explorer作為對象的。 例如:Internet Explorer中有一個智能的MIME類型檢查,會對目標的內容類型進行檢查,用戶可以獲悉該內容中​​是否存在潛在的有害程序。 不過這一軟件是不是能將病毒與同事的電子數據表區分開來呢?

WindowsXP Service Pack 2的另一個新特性是能夠卸載瀏覽器的多餘插件,這需要終端用戶檢查並判斷需要卸載哪些插件。 Outlook/Exchange可以預覽電子郵件消息,因此用戶可以在打開之前就將電子郵件刪除。 另一個應用安全的增強,防火牆在網絡協議棧之前啟動。 對於軟件開發者來說,遠方過程調用中權限的改變,使得安全性差的代碼難以工作正常。

WindowsXP Service Pack 2也為Windows用戶提供了許多華麗的新特性,但是問題仍然存在:這些特性會不會對管理員甚至是終端用戶造成負擔? 是不是在增加了Windows操作系統代碼安全性的同時讓系統變得更加複雜?

Linux 與Windows 的不同
雖然有一些類似之處,但​​Windows和Linux的工作方式還是存在一些根本的區別。 這些區別只有在您對兩者都很熟悉以後才能體會到,但它們卻是Linux 思想的核心。

Linux 的應用目標是網絡而不是打印

Windows最初出現的時候,這個世界還是一個紙張的世界。 Windows的偉大成就之一在於您的工作成果可以方便地看到並打印出來。 這樣一個開端影響了Windows 的後期發展。

同樣,Linux 也受到了其起源的影響。 Linux 的設計定位於網絡操作系統。 它的設計靈感來自於Unix 操作系統,因此它的命令的設計比較簡單,或者說是比較簡潔。 由於純文本可以非常好地跨網絡工作,所以Linux 配置文件和數據都以文本為基礎。

對那些熟悉圖形環境的人來說,Linux服務器初看可能比較原始。 但是Linux開發更多關注的是它的內在功能而不是表面上的東西。 即使是在純文本的環境中,Linux同樣擁有非常先進的網絡、腳本和安全能力。 執行一些任務所需的某些表面上看起來比較奇怪的步驟是令人費解的,除非您認識到Linux 是期望在網絡上與其他Linux系統協同執行這些任務。 Linux的自動執行能力也很強,只需要設計批處理文件就可以讓系統自動完成非常詳細的任務。 Linux 的這種能力來自於其基於文本的本質。

可選的GUI

Linux有圖形組件。 Linux支持高端的圖形適配器和顯示器,完全勝任圖形相關的工作。 現在,許多數字效果藝術家在Linux工作站上來進行他們的設計工作,而以前這些工作需要使用IRIX系統來完成。 但是,圖形環境並沒有集成到Linux 中,而是運行於系統之上的單獨一層。 這意味著您可以只運行GUI,或者在需要時才運行GUI。 如果您的系統主要任務是提供Web應用,那麼您可以停掉圖形界面,而將其所用的內存和CPU資源用於您的服務。 如果您需要在GUI 環境下做一些工作,可以再打開它,工作完成後再將其關閉。

Linux 有圖形化的管理工具,以及日常辦公的工具,比如電子郵件、網絡瀏覽器和文檔處理工具等。 不過,在Linux 中,圖形化的管理工具通常是控制台(命令行) 工具的擴展。 也就是說,用圖形化工具能完成的所有工作,用控制台命令同樣可以完成。 同樣,使用圖形化工具並不妨礙您對配置文件進行手工修改。 其實際意義可能並不是特別顯而易見,但是,如果在圖形化管理工具中所做的任何工作都可以以命令行的方式完成,這就表示那些工作也可以由一個腳本來實現。 腳本化的命令可以成為自動執行的任務。 Linux 同時支持這兩種方式,並不要求您只用文本或者只用GUI。 您可以根據您的需要選擇最好的方法。

Linux 中的配置文件是人類可讀的文本文件,這與過去的Windows 中的INI 文件類似,但與Windows 的註冊表機制在思路上有本質的區別。 每一個應用程序都有其自己的配置文件,而且通常不與其他的配置文件放在一起。 不過,大部分的配置文件都存放於一個目錄樹(/etc) 下的單個地方,所以看起來它們在邏輯上是在一起。 文本文件的配置方式使得不通過特殊的系統工具就可以完成配置文件的備份、檢查和編輯工作。

文件名擴展

Linux不使用文件名擴展來識別文件的類型。 相反,Linux根據文件的頭內容來識別其類型。 為了提高人類可讀性您仍可以使用文件名擴展,但這對Linux 系統來說沒有任何作用。 不過,有一些應用程序,比如Web 服務器,可能使用命名約定來識別文件類型,但這只是特定的應用程序的要求而不是Linux 系統本身的要求。

Linux通過文件訪問權限來判斷文件是否為可執行文件。 任何一個文件都可以賦予可執行權限,這樣程序和腳本的創建者或管理員可以將它們識別為可執行文件。 這樣做有利於安全。 保存到系統上的可執行的文件不能自動執行,這樣就可以防止許多腳本病毒。

重新引導是最後的手段

如果您使用Windows已經很長時間了,您可能已經習慣出於各種原因(從軟件安裝到糾正服務故障)而重新引導系統。 在Linux思想中您的這一習慣需要改變。Linux在本質上更遵循“牛頓運動定律”。 一旦開始運行,它將保持運行狀態,直到受到外來因素的影響,比如硬件的故障。 實際上,Linux系統的設計使得應用程序不會導致內核的崩潰,因此不必經常重新引導(與Windows系統的設計相對而言)。 所以除了Linux內核之外,其他軟件的安裝、啟動、停止和重新配置都不用重新引導系統。

如果您確實重新引導了L​​inux 系統,問題很可能得不到解決,而且還會使問題更加惡化。 學習並掌握Linux 服務和運行級別是成功解決問題的關鍵。 學習Linux 最困難的就是克服重新引導系統的習慣。

另外,您可以遠程地完成Linux中的很多工作。 只要有一些基本的網絡服務在運行,您就可以進入到那個系統。 而且,如果系統中一個特定的服務出現了問題,您可以在進行故障診斷的同時讓其他服務繼續運行。 當您在一個系統上同時運行多個服務的時候,這種管理方式非常重要。

命令區分大小寫

所有的Linux 命令和選項都區分大小寫。 例如, -R 與-r 不同,會去做不同的事情。 控制台命令幾乎都是小寫的。 我們將在“ 第2 部分. 控制台速成班”中對命令進行更詳細的介紹。

我應如何定位Linux?

從管理Windows 到管理Linux 的轉變是很麻煩的。 不過,作為一個Windows 管理員,您有自己的優勢。 您對計算的工作方式的理解依然可用。 能否成為一個成功的Linux 管理員將取決於您對兩者區別的認識以及操作習慣的調整。

Linux相對於Windows的許多變化都是有益的。 空閒的GUI的開銷被歸還給服務。 任務可以腳本化並可以自動執行。 配置文件基於文本並且人類可讀。 在大多數情況下不必重新引導系統。 實際上,您應該抑制重新引導系統的衝動。

沒有留言:

張貼留言

NodeMCU_ESP8266_搭配motoduino的積木撰寫程式

NodeMCU_ESP8266_搭配motoduino的積木撰寫程式 為了教小學生寫程式,一直在尋找適合的積木程式,加上自己能力不足、經費也短缺,因此想找一個適合的小學生使用,又不用買特殊開發版的環境。用了Scrstch的S4A,雖然可以及時看到反映,卻發現無法離線執行,而且...