一、簡史
?Linux是一套自由加開放源代碼的類Unix操作系統(tǒng)酵熙,由就讀于芬蘭赫爾辛基大學(xué)的林納斯(linus)和一些網(wǎng)友的幫助一起共同開發(fā)完成的轧简。
?Linux 操作系統(tǒng)的誕生、發(fā)展和成長過程始終依賴著五個重要支柱: UNIX操作系統(tǒng)匾二、MINIX操作系統(tǒng)哮独、GNU計劃拳芙、POSIX標(biāo)準(zhǔn)和Internet 網(wǎng)絡(luò)。Linux是一個基于POSIX和Unix的多用戶皮璧、多任務(wù)舟扎、支持多線程和多CPU的操作系統(tǒng)20世紀(jì)60年代,MIT開發(fā)分時操作系統(tǒng)(Compatible?TIme-Sharing?System)悴务,支持30臺終端訪問主機睹限;
~主機負(fù)責(zé)運算,而終端負(fù)責(zé)輸入輸出讯檐;
1965年羡疗,Bell實驗室、MIT别洪、GE(通用電氣公司)準(zhǔn)備開發(fā)Multics系統(tǒng)叨恨,為了同時支持300個終端訪問主機,但是1969年失敗了挖垛;
~剛開始并沒有鼠標(biāo)痒钝、鍵盤,輸入設(shè)備只有卡片機痢毒,因此如果要測試某個程序送矩,則需要將讀卡紙插入卡片機,如果有錯誤闸准,還需要重新來過;
~Multics:Multiplexed?Information?and?Computing?Service
1969年梢灭,Ken?Thompson(C語言之父)利用匯編語言開發(fā)了FIle?Server?System(Unics夷家,即Unix的原型)
~因為匯編語言對于硬件的依賴性,因此只能針對特定硬件敏释;
~只是為了移植一款“太空旅游”的游戲库快;
1973年,Dennis?Ritchie和Ken?Thompson發(fā)明了C語言钥顽,而后寫出了Unix的內(nèi)核
~將B語言改成C語言义屏,由此產(chǎn)生了C語言之父;
~90%的代碼是C語言寫的蜂大,10%的代碼用匯編寫的闽铐,因此移植時只要修改那10%的代碼即可;
1977年奶浦,Berkeley大學(xué)的Bill?Joy針對他的機器修改Unix源碼兄墅,稱為BSD(Berkeley?Software?Distribution)
~Bill?Joy是Sun公司的創(chuàng)始人;
1979年澳叉,Unix發(fā)布System?V隙咸,用于個人計算機沐悦;
1984年,因為Unix規(guī)定:“不能對學(xué)生提供源碼”五督,Tanenbaum老師自己編寫兼容于Unix的Minix藏否,用于教學(xué);
1984年充包,Stallman開始GNU(GNU's?Not?Unix)項目谭贪,創(chuàng)辦FSF(Free?Software?Foundation)基金會;
~產(chǎn)品:GCC咒劲、Emacs盖腿、Bash?Shell、GLIBC愈捅;
~倡導(dǎo)“自由軟件”遏考;
~GNU的軟件缺乏一個開放的平臺運行,只能在Unix上運行蓝谨;
~自由軟件指用戶可以對軟件做任何修改灌具,甚至再發(fā)行,但是始終要掛著GPL的版權(quán)譬巫;
~自由軟件是可以賣的咖楣,但是不能只賣軟件,而是賣服務(wù)芦昔、手冊等诱贿;
1985年,為了避免GNU開發(fā)的自由軟件被其他人用作專利軟件咕缎,因此創(chuàng)建GPL(General?Public?License)版權(quán)聲明珠十;
1988年,MIT為了開發(fā)GUI凭豪,成立了XFree86的組織焙蹭;
1991年,芬蘭赫爾辛基大學(xué)的研究生Linus?Torvalds基于gcc嫂伞、bash開發(fā)了針對386機器的Lniux內(nèi)核孔厉;
1994年,Torvalds發(fā)布Linux-v1.0帖努;
1996年撰豺,Torvalds發(fā)布Linux-v2.0,確定了Linux的吉祥物:企鵝拼余;
二郑趁、Linux之父
?林納斯·托瓦茲(Linus Benedict Torvalds),著名的電腦程序員姿搜、黑客寡润。LINUX內(nèi)核的發(fā)明人及該計劃的合作者捆憎。托瓦茲利用個人時間及器材創(chuàng)造出了這套當(dāng)今全球最流行的操作系統(tǒng)(作業(yè)系統(tǒng))內(nèi)核之一。
三梭纹、Linux標(biāo)志的來歷
?因為Torvalds在小時候被企鵝咬過躲惰,因此印象非常深刻;
四变抽、Linux的優(yōu)點和缺點
優(yōu)點:
1础拨、真正開放的操作系統(tǒng)
Linux的最大賣點就是它所給與客戶的選擇性。從硬件到支持再到Linux的發(fā)行版绍载,有很多的選擇诡宗。可以在一個價值200美元的舊PC機上運行Linux系統(tǒng)击儡,也可以將它作為一個LPAR(羅輯分區(qū))運行在價值數(shù)百萬美元的p595?IBM?p系列服務(wù)器上(你需要在RHEL4?或?SLES9之間作出選擇)塔沃,甚至能夠在IBM主機上運行Linux系統(tǒng)。使用Linux不會與硬件分銷商發(fā)生沖突阳谍,它是一個真正的開放系統(tǒng)蛀柴。
2、漏洞修補和安全補丁
使用Linux后矫夯,供應(yīng)商的最新漏洞修補或安全補丁來修復(fù)你操作系統(tǒng)(OS)漏洞,你的等待時間只是幾天甚至是幾個小時鸽疾。開源社區(qū)將會以非常快的速度來傳遞無休止的開發(fā)周期训貌,這在過去只能以傳統(tǒng)渠道發(fā)布制肮。
3、不斷增加的資源
如今递沪,每一個主要的ISV都會推出一個Linux軟件版本豺鼻,Linux的市場份額正在不斷增長,人們也越來越需要它区拳。與此同時拘领,很多管理者都進(jìn)行Linux培訓(xùn)意乓,而且越來越多豐富的公共信息也會很容易得到全面幫助公司轉(zhuǎn)換到Linux操作系統(tǒng)樱调。
二、缺點:
1届良、可擴展性
隨著2.6內(nèi)核的出現(xiàn)笆凌,可擴展性已經(jīng)不再像原來那樣重要,但是Linux一直都沒有像Unix那樣的擴展性士葫。一般來說乞而,企業(yè)們都要求要有最大的性能,可靠性和可擴展性慢显,Unix一直是最佳的選擇爪模。Unix系統(tǒng)的高可用性也比Linux操作系統(tǒng)更加成熟欠啤。
2、硬件集成/支持的缺乏
盡管很多公司認(rèn)為這一點是一個附加物屋灌,但是洁段,財富500強公司通常都更喜歡來自硬件支持的更舒適的性能以及硬件與操作系統(tǒng)之間更加緊密地集成。我們都知道如果你的硬件供應(yīng)商與你的操作系統(tǒng)軟件供應(yīng)商不同會發(fā)生什么或者受到什么職責(zé)共郭。驅(qū)動支持是硬件供應(yīng)商帶來的祠丝,但這對于Linux系統(tǒng)來說,一直是一個挑戰(zhàn)除嘹。
3写半、洞察力
一些試圖勸說CIO使用Linux服務(wù)器取代Unix的人通常都會理解這個問題。Linux很不幸在很多方面都是存在風(fēng)險的尉咕,并沒有為企業(yè)準(zhǔn)備好叠蝇。許多CIO們都有自己的一套方法,他們并沒有準(zhǔn)備采用有風(fēng)險的解決方案龙考,即使是一個我們大多數(shù)人認(rèn)為沒有風(fēng)險的事物蟆肆。盡管對Linux的這種看法在過去的幾年已經(jīng)發(fā)生了很大的變化,但是晦款,一些大型公司仍有這種顧慮炎功。
五、Linux內(nèi)核及發(fā)行版
1缓溅、Linux內(nèi)核版本
內(nèi)核(?核版本又分為?穩(wěn)定版?和?開發(fā)版蛇损,兩種版本是相互關(guān)聯(lián),相互循環(huán)坛怪;
穩(wěn)定版:具有工業(yè)級強度淤齐,可以廣泛地應(yīng)用和部署。新的穩(wěn)定版相對于較舊的只是修正一些 bug 或加入一些新的驅(qū)動程序袜匿;
開發(fā)版:由于要試驗各種解決方案更啄,所以變化很快;
2居灯、Linux發(fā)行版本
Linux 發(fā)行版(也被叫做 GNU/Linux 發(fā)行版)通常包含了包括桌面環(huán)境祭务、辦公套件、媒體播放器怪嫌、數(shù)據(jù)庫等應(yīng)用軟件义锥;
Linux的關(guān)鍵
六、Linux的重要人物
七拌倍、Linux的命令及操作
shutdown -t 秒數(shù) 關(guān)機-r shutdown之后重啟 -h 系統(tǒng)關(guān)閉
重啟? reboot? -i? 在重新開機之前關(guān)閉所有網(wǎng)絡(luò)界面? -n? 重新啟動之前檢查是否有末結(jié)束的程序
pwd? 查看當(dāng)前所在文件夾
ls? 查看當(dāng)前文件夾下的內(nèi)容 -a 顯示目錄下所有子目錄與文件,包括隱藏文件
-l? 以列表方式顯示文件的詳細(xì)信息
-h? 配合-l以人性化的方式顯示文件大小
cd? 切換到當(dāng)前用戶目錄的主目錄(/home/用戶目錄)
~? 切換到當(dāng)前用戶目錄的主目錄(/home/用戶目錄)
.? 保持在當(dāng)前目錄不變
..? 切換到上級目錄
-? 可以在兩次工作目錄之間切換
touch? 如果文件不在則新建文件
mkdir? 創(chuàng)建目錄? -p? 可以遞歸創(chuàng)建目錄
rm? 刪除指定文件? -f? 強制刪除文件,忽略不存在的文件柱恤,無需提示
-r? ? 遞歸的刪除目錄下的內(nèi)容数初,刪除文件夾時候必須使用此參數(shù)
clear? 清除屏幕
man? 空格鍵? 顯示手冊頁的下一屏? Enter? 一次滾動手冊頁的一行
b? 回滾一屏? f? 前滾一屏? q? 退出? /word? 查詢
*? 代表任意個數(shù)字? ? ? ? ?? ? 代表任意一個字符
【】? 表示可以匹配字符組中的任意一個
【abc】? 匹配abc中任何一個
【a-f】? 匹配a-f范圍中任意一個字符
ls? te*? 查找以te開頭的文件
ls *html? 查找結(jié)尾為html的文件
ls ?.c? 只找第一個字符任意梗顺,后綴為.c
ls a.?? 只找只有3個字符妙真,前兩個字符為a,最后一個字符任意的文件夾
ls [a-f]*? 找到從a到f范圍內(nèi)的任意一個字符開頭的文件
ls a-f? 查找文件名為a-f的文件荚守,當(dāng)“-”處于括號之外失去通配符作用
tree? 以樹狀圖列出目錄結(jié)構(gòu)
cp? 復(fù)制文件珍德、目錄? -a? 該選項通常在復(fù)制目錄的時候使用,它保留鏈接矗漾、文件屬性锈候,并遞歸地復(fù)制目錄,簡單而言敞贡,保持文件原有屬性
-f? 已經(jīng)存在的目標(biāo)文件而不提示(強制覆蓋)
-i? 交互式復(fù)制泵琳,在覆蓋目標(biāo)文件之前給出提示要求用戶確認(rèn)
-r? 交互式復(fù)制,在覆蓋目標(biāo)文件之前給出提示要求用戶確認(rèn)
-v? 顯示拷貝進(jìn)度
mv? 移動文件誊役、目錄? -f? 禁止交互式操作获列,如果有覆蓋也不給出任何提示
-i? 確認(rèn)交互方式操作,如果mv操作將導(dǎo)致對已存在的目標(biāo)文件覆蓋蛔垢,系統(tǒng)會詢問是否重寫击孩,要求用戶回答以避免覆蓋
-v? 顯示移動進(jìn)度
重定向? >? 表示輸出,會覆蓋文件原有的內(nèi)容
>>表示追加鹏漆,會將內(nèi)容追加已有文件的末尾
ln? 建立連接文件? ln 源文件 鏈接文件? 硬鏈接
ln -s 源文件 鏈接文件? 軟連接
文件搜索grep? -v? 顯示不包含匹配文本的所有行(相當(dāng)于求反)
-n? 顯示匹配行及行號
-i? 忽略大小寫
歸檔管理 tar-c? 生成檔案文件巩梢,創(chuàng)建打包文件
-v? 列出歸檔鏈接的詳細(xì)過程,顯示進(jìn)度
-f? 指定檔案文件名稱艺玲,f后面一定是.tar文件括蝠,所以必須放選項最后面
-t? 列出檔案中包含的文件? -x? 解開檔案
gzip? 文件壓縮解壓? -d解壓? -r? 壓縮所有子目錄
管道? 舉例:ls -lha | grep 123? 說明:就是把前一個命令的結(jié)果當(dāng)成后一個命令的輸入。結(jié)合本例就是先顯示所有的文件饭聚,然后再用grep命令在ls的結(jié)果中查找包含123的文件忌警。
bzip2? 壓縮用法? tar -jcvf 壓縮文件包 文件? 解壓用法? tar -jxvf 壓縮包包名
which? 查看命令位置?