14.1 操作系統(tǒng)介紹
14.1.1 計(jì)算機(jī)的歷史
第一代計(jì)算機(jī)(1946~1958)
電子管為基本電子器件;使用機(jī)器語(yǔ)言和匯編語(yǔ)言;主要應(yīng)用于國(guó)防和科學(xué)計(jì)算;運(yùn)算速度每秒幾千次至幾萬(wàn)次瓷式。
第二代計(jì)算機(jī)(1958~1964)
晶體管為主要器件;軟件上出現(xiàn)了操作系統(tǒng)和算法語(yǔ)言;運(yùn)算速度每秒幾萬(wàn)次至幾十萬(wàn)次二打。
第三代計(jì)算機(jī)(1964~1971)
普遍采用集成電路;體積縮小;運(yùn)算速度每秒幾十萬(wàn)次至幾百萬(wàn)次。
第四代計(jì)算機(jī)(1971~ )
以大規(guī)模集成電路為主要器件;運(yùn)算速度每秒幾百萬(wàn)次至上億次羡儿。
14.1.2 操作系統(tǒng)的分類
操作系統(tǒng)的定義
操作系統(tǒng)(Operating System事示,簡(jiǎn)稱OS)早像,是電子計(jì)算機(jī)系統(tǒng)中負(fù)責(zé)支撐應(yīng)用程序運(yùn)行環(huán)境以及用戶操作環(huán)境的系統(tǒng)軟件,同時(shí)也是計(jì)算機(jī)系統(tǒng)的核心與基石肖爵。操作系統(tǒng)是控制和管理計(jì)算機(jī)軟硬件資源卢鹦、合理組織計(jì)算機(jī)工作流程,以及方便用戶操作的程序集合劝堪。它的職責(zé)常包括對(duì)硬件的直接監(jiān)管冀自、對(duì)各種計(jì)算資源(如內(nèi)存、處理器時(shí)間等)的管理幅聘、以及提供諸如作業(yè)管理之類的面向應(yīng)用程序的服務(wù)等等凡纳。操作系統(tǒng)的理論是計(jì)算機(jī)科學(xué)中一個(gè)古老而又活躍的分支,而操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)則是軟件工業(yè)的基礎(chǔ)與核心帝蒿。
常見(jiàn)分類:
手機(jī):Android荐糜、IOS
電腦:UNIX、LINUX、MacOS暴氏、Windows
UNIX
UNIX是一個(gè)強(qiáng)大的多用戶延塑、多任務(wù)操作系統(tǒng),支持多種處理器架構(gòu)答渔,按照操作系統(tǒng)的分類关带,屬于分時(shí)操作系統(tǒng)。UNIX 最早由Ken Thompson和Dennis Ritchie于1969年在美國(guó)AT&T的貝爾實(shí)驗(yàn)室開(kāi)發(fā)沼撕。
類Unix(Unix-like)操作系統(tǒng)指各種傳統(tǒng)的Unix以及各種與傳統(tǒng)Unix類似的系統(tǒng)宋雏。它們雖然有的是自由軟件,有的是商業(yè)軟件务豺,但都相當(dāng)程度地繼承了原始UNIX的特性磨总,有許多相似處,并且都在一定程度上遵守POSIX規(guī)范笼沥。類Unix系統(tǒng)可在非常多的處理器架構(gòu)下運(yùn)行蚪燕,在服務(wù)器系統(tǒng)上有很高的使用率,例如大專院斜记常或工程應(yīng)用的工作站馆纳。
Linux
基于Linux的操作系統(tǒng)是20世紀(jì)1991年推出的一個(gè)多用戶、多任務(wù)的操作系統(tǒng)汹桦。它與UNIX完全兼容鲁驶。Linux最初是由芬蘭赫爾辛基大學(xué)計(jì)算機(jī)系學(xué)生Linus Torvalds在基于UNIX的基礎(chǔ)上開(kāi)發(fā)的一個(gè)操作系統(tǒng)的內(nèi)核程序,Linux的設(shè)計(jì)是為了在Intel微處理器上更有效的運(yùn)用。其后在理查德·斯托曼的建議下以GNU通用公共許可證發(fā)布营勤,成為自由軟件Unix變種灵嫌。它的最大的特點(diǎn)在于他是一個(gè)源代碼公開(kāi)的自由及開(kāi)放源碼的操作系統(tǒng),其內(nèi)核源代碼可以自由傳播葛作。
經(jīng)歷數(shù)年的披荊斬棘寿羞,自由開(kāi)源的Linux系統(tǒng)逐漸蠶食以往專利軟件的專業(yè)領(lǐng)域赂蠢,例如以往計(jì)算機(jī)動(dòng)畫運(yùn)算巨擘──SGI的IRIX系統(tǒng)已被Linux家族及貝爾實(shí)驗(yàn)室研發(fā)小組設(shè)計(jì)的九號(hào)計(jì)劃與Inferno系統(tǒng)取代绪穆,皆用于分散表達(dá)式環(huán)境。它們并不像其他Unix系統(tǒng)虱岂,而是選擇自帶圖形用戶界面玖院。九號(hào)計(jì)劃原先并不普及,因?yàn)樗鼊偼瞥鰰r(shí)并非自由軟件第岖。Linux有各類發(fā)行版难菌,通常為GNU/Linux,如Debian(及其衍生系統(tǒng)Ubuntu蔑滓、Linux Mint)郊酒、Fedora遇绞、openSUSE等。Linux發(fā)行版作為個(gè)人計(jì)算機(jī)操作系統(tǒng)或服務(wù)器操作系統(tǒng)燎窘,在服務(wù)器上已成為主流的操作系統(tǒng)摹闽。
MacOSX
MacOS是一套運(yùn)行于蘋果Macintosh系列電腦上的操作系統(tǒng)。Mac OS是首個(gè)在商用領(lǐng)域成功的圖形用戶界面褐健。Macintosh組包括比爾·阿特金森(Bill Atkinson)付鹿、杰夫·拉斯金(Jef Raskin)和安迪·赫茨菲爾德(Andy Hertzfeld)。Mac OS X于2001年首次在商場(chǎng)上推出蚜迅。它包含兩個(gè)主要的部分:Darwin舵匾,是以BSD原始代碼和Mach微核心為基礎(chǔ),類似Unix的開(kāi)放原始碼環(huán)境慢叨。
Windows
Windows是由微軟公司成功開(kāi)發(fā)的操作系統(tǒng).Windows是一個(gè)多任務(wù)的操作系統(tǒng)纽匙,他采用圖形窗口界面,用戶對(duì)計(jì)算機(jī)的各種復(fù)雜操作只需通過(guò)點(diǎn)擊鼠標(biāo)就可以實(shí)現(xiàn)拍谐。
MicrosoftWindows系列操作系統(tǒng)是在微軟給IBM機(jī)器設(shè)計(jì)的MS-DOS的基礎(chǔ)上設(shè)計(jì)的圖形操作系統(tǒng)。Windows系統(tǒng)馏段,如Windows 2000轩拨、Windows XP皆是創(chuàng)建于現(xiàn)代的Windows NT內(nèi)核。NT內(nèi)核是由OS/2和OpenVMS等系統(tǒng)上借用來(lái)的院喜。Windows可以在32位和64位的Intel和AMD的處理器上運(yùn)行亡蓉,但是早期的版本也可以在DEC Alpha、MIPS與PowerPC架構(gòu)上運(yùn)行喷舀。雖然由于人們對(duì)于開(kāi)放源代碼作業(yè)系統(tǒng)興趣的提升砍濒,Windows的市場(chǎng)占有率有所下降,但是到2004年據(jù)庫(kù)服務(wù)等一些功能硫麻。
WindowsXP在2001年10月25日發(fā)布爸邢,2004年8月24日發(fā)布服務(wù)包2,2008年4月21日發(fā)布最新的服務(wù)包3拿愧。微軟上一款操作系統(tǒng)Windows Vista(開(kāi)發(fā)代碼為L(zhǎng)onghorn)于2007年1月30日發(fā)售杠河。Windows Vista增加了許多功能,尤其是系統(tǒng)的安全性和網(wǎng)絡(luò)管理功能浇辜,并且其擁有界面華麗的Aero Glass券敌。但是整體而言,其在全球市場(chǎng)上的口碑卻并不是很好柳洋。Windows 8微軟在2012年10月正式推出待诅,系統(tǒng)有著獨(dú)特的metro開(kāi)始界面和觸控式交互系統(tǒng),2013年10月17日晚上7點(diǎn)熊镣,Windows 8.1在全球范圍內(nèi)卑雁,通過(guò)Windows上的應(yīng)用商店進(jìn)行更新推送立由。2014年1月22日,微軟在美國(guó)舊金山舉行發(fā)布會(huì)序厉,正式發(fā)布了Windows 10消費(fèi)者預(yù)覽版锐膜。
iOS
iOS操作系統(tǒng)是由蘋果公司開(kāi)發(fā)的手持設(shè)備操作系統(tǒng)。iOS與蘋果的Mac OS X操作系統(tǒng)一樣弛房,它也是以Darwin為基礎(chǔ)的道盏,因此同樣屬于類Unix的商業(yè)操作系統(tǒng)。原本這個(gè)系統(tǒng)名為iPhone OS文捶,直到2010年6月7日WWDC大會(huì)上宣布改名為iOS荷逞。截止至2011年11月,根據(jù)Canalys的數(shù)據(jù)顯示粹排,iOS已經(jīng)占據(jù)了全球智能手機(jī)系統(tǒng)市場(chǎng)份額的30%种远,在美國(guó)的市場(chǎng)占有率為43%。
Android
Android是一種以Linux為基礎(chǔ)的開(kāi)放源代碼操作系統(tǒng)顽耳,主要使用于便攜設(shè)備坠敷。Android操作系統(tǒng)最初由Andy Rubin開(kāi)發(fā),最初主要支持手機(jī)射富。2005年由Google收購(gòu)注資膝迎,并組建開(kāi)放手機(jī)聯(lián)盟開(kāi)發(fā)改良,逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上胰耗。2011年第一季度限次,Android在全球的市場(chǎng)份額首次超過(guò)塞班系統(tǒng),躍居全球第一柴灯。2012年11月數(shù)據(jù)顯示卖漫,Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場(chǎng)76%的份額,中國(guó)市場(chǎng)占有率為90%赠群。
14.1.3 Linux系統(tǒng)介紹
Linux是基于Unix的開(kāi)源免費(fèi)的操作系統(tǒng)羊始,由于系統(tǒng)的穩(wěn)定性和安全性幾乎成為程序代碼運(yùn)行的最佳系統(tǒng)環(huán)境。Linux是由Linus Torvalds(林納斯·托瓦茲)起初開(kāi)發(fā)的乎串,由于源代碼的開(kāi)放性店枣,現(xiàn)在已經(jīng)衍生出了千上百種不同的Linux系統(tǒng)。
林納斯·托瓦茲.png
logo.png
Linux系統(tǒng)的應(yīng)用非常廣泛叹誉,不僅可以長(zhǎng)時(shí)間的運(yùn)行我們編寫的程序代碼鸯两,還可以安裝在各種計(jì)算機(jī)硬件設(shè)備中,比如手機(jī)长豁、平板電腦钧唐、路由器等。尤其在這里提及一下匠襟,我們熟知是Android程序最底層就是運(yùn)行在linux系統(tǒng)上的钝侠。
14.1.4 Linux分類
Linux根據(jù)市場(chǎng)需求不同该园,基本分為兩個(gè)方向:
1)圖形化界面版:注重用戶體驗(yàn),類似window操作系統(tǒng)帅韧,但目前成熟度不夠
2)服務(wù)器版:沒(méi)有好看的界面里初,是以在控制臺(tái)窗口中輸入命令操作系統(tǒng)的,類似于DOS忽舟,是我們架設(shè)服務(wù)器的最佳選擇双妨。
Linux根據(jù)原生程度,又分為兩種:
1)內(nèi)核版本:在Linus領(lǐng)導(dǎo)下的內(nèi)核小組開(kāi)發(fā)維護(hù)的系統(tǒng)內(nèi)核的版本號(hào)
2)發(fā)行版本:一些組織或公司在內(nèi)核版基礎(chǔ)上進(jìn)行二次開(kāi)發(fā)而重新發(fā)行的版本
Linux發(fā)行版本不同叮阅,又可以分為n多種:
常見(jiàn)Linux.png
14.2 Linux安裝
因?yàn)長(zhǎng)inux也是一個(gè)系統(tǒng)刁品,本質(zhì)上跟我們電腦的Window沒(méi)有區(qū)別,所以我們要學(xué)習(xí)Linux就首先將我們電腦的Window系統(tǒng)換成Linux系統(tǒng)浩姥,或者在我們電腦上安裝雙系統(tǒng)挑随,聽(tīng)上去是不是很可怕。其實(shí)我們可以在我們電腦上安裝一個(gè)軟件勒叠,這個(gè)軟甲可以模擬一臺(tái)或多臺(tái)虛擬的電腦機(jī)器兜挨,這就是虛擬機(jī)
虛擬器常用的有兩種:
VMware(威睿)公司的虛擬機(jī)軟件,功能強(qiáng)大
VMware.png
VitrualBox 虛擬機(jī)軟件 Oracle公司的虛擬機(jī)軟件缴饭,免費(fèi)商品
VitrualBox.png
由于市場(chǎng)上VMware使用率很高暑劝,所以我們安裝VMware 。
14.2.1 VMWare介紹
CentOS是一個(gè)Linux的發(fā)行版本颗搂,是目前企業(yè)中用來(lái)做應(yīng)用服務(wù)器系統(tǒng)的主要版本,CentOS的安裝幕垦,其實(shí)是將該系統(tǒng)安裝到VMware虛擬機(jī)軟件中丢氢,讓VMware虛擬機(jī)軟件模擬出一臺(tái)Linux系統(tǒng)的電腦。
14.2.2 VMWare安裝
點(diǎn)擊Vware-workstation-full
image.png
安裝
image.png
下一步
image.png
修改安裝路徑
image.png
image.png
image.png
image.png
14.2.3 VMWare安裝Linux( CentOS)
新建虛擬機(jī)
image.png
選擇自定義配置
image.png
注意:就這里可以選擇自定義和典型先改,如果選擇典型就不用下邊配置了疚察。
選擇Workstation 14.x,點(diǎn)擊”下一步”
image.png
選擇安裝程序光盤的鏡像文件iso(選擇鏡像文件路徑)仇奶,點(diǎn)擊”下一步”
1.png
設(shè)置全名,用戶名,密碼(用戶名和密碼要記住貌嫡,登錄的時(shí)候會(huì)用,我這邊全設(shè)置為jack)
3.png
點(diǎn)擊”下一步”该溯,選擇安裝路徑岛抄,點(diǎn)擊”下一步”
image.png
指定磁盤大小。我個(gè)人是指定100G狈茉。就像我們的windows系統(tǒng)中的磁盤作用一樣夫椭。點(diǎn)擊“下一步”。
image.png
確認(rèn)虛擬機(jī)的信息氯庆,點(diǎn)擊“完成”
image.png
進(jìn)入正式安裝界面
image.png
選擇推薦的即可
image.png
選擇創(chuàng)建新虛擬磁盤
image.png
選擇默認(rèn)的即可
image.png
這個(gè)是虛擬機(jī)在winodow中的名稱蹭秋,不需要修改
image.png
點(diǎn)擊”完成”
image.png
打開(kāi)虛擬機(jī)扰付,第一次需要加載一定時(shí)間
image.png
進(jìn)入登錄界面,輸入用戶名和密碼
背景
服務(wù)器版的Linux安裝完畢了仁讨,但沒(méi)有圖形化界面羽莺,我們只能通過(guò)控制臺(tái)去操作系統(tǒng),我們就要使用類似DOS命令的Linux命令去操作系統(tǒng)洞豁,那么下面我們就進(jìn)行Linux的命令的學(xué)習(xí)盐固。Linux命令成百上千,課程不能一一涉及族跛,也沒(méi)有必要一一涉及闰挡,根據(jù)我們程序員在日常工作中的需求,總結(jié)出如下幾種供學(xué)習(xí)礁哄。
15.1 目錄切換命令
15.1.1 目錄切換命令
window中通過(guò)圖形化界面和鼠標(biāo)可以任意切換需要進(jìn)入的目錄长酗,但Linux必須通過(guò)cd命令切換目錄。但在學(xué)習(xí)cd命令之前桐绒,我們有必要分清Linux的目錄結(jié)構(gòu)
image-20201117200454774.png
cd usr/ 切換到該目錄下usr目錄cd ../ 切換到上一層目錄cd /切換到系統(tǒng)根目錄cd ~ 切換到用戶主目錄
15.2 目錄操作命令
15.2.1 增加目錄
命令:mkdir 目錄名稱
示例:在根目錄 / 下 mkdir test夺脾,就會(huì)在根目錄 / 下產(chǎn)生一個(gè)test問(wèn)目錄
image-20201117200517283.png
15.2.2 查看目錄
命令:ls [-al] 父目錄
示例:在根目錄 / 下使用ls,可以看到該目錄下的所有的目錄和文件
image-20201117200537182.png
示例:在根目錄 / 下使用ls -a茉继,可以看到該目錄下的所有文件和目錄咧叭,包括隱藏的
image-20201117200556513.png
示例:在根目錄 / 下使用ls -l,可以看到該目錄下的所有目錄和文件的詳細(xì)信息
image-20201117200620587.png
注意:ls -l 可以縮寫成ll
15.2.3 尋找目錄
命令:find 目錄 參數(shù)(重點(diǎn))
示例:查找/root下的與test相關(guān)的目錄(文件)find / -name ‘test*
image.png
注意:注意這里涉及權(quán)限問(wèn)題烁竭,需要先切換到root目錄
//? ? 切換到root目錄su root//? 切換到普通用戶目錄su anfly
15.2.4 修改目錄名稱
命令:mv 目錄名稱 新目錄名稱
image.png
注意:mv的語(yǔ)法不僅可以對(duì)目錄進(jìn)行重命名而且也可以對(duì)各種文件菲茬,壓縮包等進(jìn)行 重命名的操作
15.2.5 移動(dòng)目錄位置(剪切)
前提:必須切換到跟目錄,否則沒(méi)有權(quán)限
命令:mv 目錄名稱 目錄的新位置
示例:在test下將newTest目錄剪切到 /usr下面派撕,使用mv newTest usr/
image-20201117200655557.png
注意:
mv語(yǔ)法不僅可以對(duì)目錄進(jìn)行剪切操作婉弹,對(duì)文件和壓縮包等都可執(zhí)行剪切操作
文件顯示為黑色,文件夾顯示為藍(lán)色终吼,剪切的時(shí)候必須是在新位置后加/
15.2.6 拷貝目錄
命令:cp -r 被目錄名稱 目錄拷貝的目標(biāo)位置 -----r代表遞歸拷貝
1. 被復(fù)制目錄和目標(biāo)目錄需要寫全路徑镀赌,否則按照根目錄處理2. 可以在任意位置復(fù)制
示例:將/usr下的newTest拷貝到根目錄下的test中,使用cp -r /usr/newTest test/rm
image-20201117200715468.png
注意:cp命令不僅可以拷貝目錄還可以拷貝文件际跪,壓縮包等商佛,拷貝文件和壓縮包時(shí)不用寫-r遞歸
15.2.7 刪除目錄
(7)刪除目錄(刪)
命令:rm [-rf] 目錄
示例:刪除/usr下的newTest,進(jìn)入/usr下使用rm -r newTest
image-20201117200731190.png
示例:刪除/test下的newTest而不需要詢問(wèn)強(qiáng)制刪除姆打,在/test下使用rm -rf newTest
image-20201117200745859.png
注意:rm不僅可以刪除目錄良姆,也可以刪除其他文件或壓縮包,為了增強(qiáng)大家的記憶穴肘,無(wú)論刪除任何目錄或文件歇盼,都直接使用rm -rf 目錄/文件/壓縮包
15.3 文件操作命令
15.3.1 文件創(chuàng)建
命令:touch 文件名稱 ----- 空文件
示例:在test目錄下創(chuàng)建一個(gè)空文件 touch aaa.txt
image-20201117200801504.png
15.3.2 文件查看
命令:cat/more/less/tail 文件
示例:使用cat查看/etc/profile文件,只能顯示最后一屏內(nèi)容
示例:使用more查看/etc/profile文件评抚,可以顯示百分比豹缀,回車可以向下一行伯复, 空格可以向下一頁(yè),q可以退出查看
示例:使用less查看/etc/profile文件邢笙,可以使用鍵盤上的PgUp和PgDn向上 和向下翻頁(yè)啸如,q結(jié)束查看
示例:使用tail -10 查看/etc/profile文件的后10行,Ctrl+C結(jié)束
注意:命令 tail -f 文件 可以對(duì)某個(gè)文件進(jìn)行動(dòng)態(tài)監(jiān)控氮惯,例如tomcat的日志文件蝌数, 會(huì)隨著程序的運(yùn)行跪呈,日志會(huì)變化诲宇,可以使用tail -f catalina-2016-11-11.log 監(jiān)控 文 件的變化
補(bǔ)充:公司的日志的格式
15.3.3 修改文件內(nèi)容
三種模式:命令模式掂摔,編輯模式,底行模式
命令:vim 文件
示例:編輯/test下的aaa.txt文件杨箭,使用vim aaa.txt