一诵肛、Linux系統(tǒng)介紹
1.操作系統(tǒng)的分類(lèi)
1.1? 操作系統(tǒng)的定義
操作系統(tǒng)(Operating System钦扭,簡(jiǎn)稱(chēng)OS),是電子計(jì)算機(jī)系統(tǒng)中負(fù)責(zé)支撐應(yīng)用程序運(yùn)行環(huán)境以及用戶(hù)操作環(huán)境的系統(tǒng)軟件,同時(shí)也是計(jì)算機(jī)系統(tǒng)的核心與基石。操作系統(tǒng)是控制和管理計(jì)算機(jī)軟硬件資源断凶、合理組織計(jì)算機(jī)工作流程,以及方便用戶(hù)操作的程序集合巫俺。它的職責(zé)常包括對(duì)硬件的直接監(jiān)管认烁、對(duì)各種計(jì)算資源(如內(nèi)存、處理器時(shí)間等)的管理识藤、以及提供諸如作業(yè)管理之類(lèi)的面向應(yīng)用程序的服務(wù)等等砚著。操作系統(tǒng)的理論是計(jì)算機(jī)科學(xué)中一個(gè)古老而又活躍的分支,而操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)則是軟件工業(yè)的基礎(chǔ)與核心痴昧。
1.2? 常見(jiàn)分類(lèi):
手機(jī):Android、IOS
電腦:UNIX冠王、LINUX赶撰、MacOS、Windows
(1)UNIX
UNIX是一個(gè)強(qiáng)大的多用戶(hù)、多任務(wù)操作系統(tǒng)豪娜,支持多種處理器架構(gòu)餐胀,按照操作系統(tǒng)的分類(lèi),屬于分時(shí)操作系統(tǒng)瘤载。UNIX 最早由Ken Thompson和Dennis Ritchie于1969年在美國(guó)AT&T的貝爾實(shí)驗(yàn)室開(kāi)發(fā)否灾。
類(lèi)Unix(Unix-like)操作系統(tǒng)指各種傳統(tǒng)的Unix以及各種與傳統(tǒng)Unix類(lèi)似的系統(tǒng)。它們雖然有的是自由軟件鸣奔,有的是商業(yè)軟件墨技,但都相當(dāng)程度地繼承了原始UNIX的特性,有許多相似處挎狸,并且都在一定程度上遵守POSIX規(guī)范扣汪。類(lèi)Unix系統(tǒng)可在非常多的處理器架構(gòu)下運(yùn)行,在服務(wù)器系統(tǒng)上有很高的使用率锨匆,例如大專(zhuān)院姓副穑或工程應(yīng)用的工作站。
(2)Linux
基于Linux的操作系統(tǒng)是20世紀(jì)1991年推出的一個(gè)多用戶(hù)恐锣、多任務(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)逐漸蠶食以往專(zhuān)利軟件的專(zhuān)業(yè)領(lǐng)域论衍,例如以往計(jì)算機(jī)動(dòng)畫(huà)運(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ù)界面炬丸。九號(hào)計(jì)劃原先并不普及,因?yàn)樗鼊偼瞥鰰r(shí)并非自由軟件蜒蕾。Linux有各類(lèi)發(fā)行版稠炬,通常為GNU/Linux,如Debian(及其衍生系統(tǒng)Ubuntu咪啡、Linux Mint)首启、Fedora、openSUSE等撤摸。Linux發(fā)行版作為個(gè)人計(jì)算機(jī)操作系統(tǒng)或服務(wù)器操作系統(tǒng)毅桃,在服務(wù)器上已成為主流的操作系統(tǒng)褒纲。
(3)MacOSX
MacOS是一套運(yùn)行于蘋(píng)果Macintosh系列電腦上的操作系統(tǒng)。Mac OS是首個(gè)在商用領(lǐng)域成功的圖形用戶(hù)界面钥飞。Macintosh組包括比爾·阿特金森(Bill Atkinson)莺掠、杰夫·拉斯金(Jef Raskin)和安迪·赫茨菲爾德(Andy Hertzfeld)。Mac OS X于2001年首次在商場(chǎng)上推出读宙。它包含兩個(gè)主要的部分:Darwin彻秆,是以BSD原始代碼和Mach微核心為基礎(chǔ),類(lèi)似Unix的開(kāi)放原始碼環(huán)境结闸。
(4)Windows
Windows是由微軟公司成功開(kāi)發(fā)的操作系統(tǒng).Windows是一個(gè)多任務(wù)的操作系統(tǒng)唇兑,他采用圖形窗口界面,用戶(hù)對(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ù)覽版奸远。
(5)iOS
iOS操作系統(tǒng)是由蘋(píng)果公司開(kāi)發(fā)的手持設(shè)備操作系統(tǒng)既棺。iOS與蘋(píng)果的Mac OS X操作系統(tǒng)一樣讽挟,它也是以Darwin為基礎(chǔ)的懒叛,因此同樣屬于類(lèi)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%樟遣。
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)行我們編寫(xiě)的程序代碼埃难,還可以安裝在各種計(jì)算機(jī)硬件設(shè)備中,比如手機(jī)涤久、平板電腦涡尘、路由器等。尤其在這里提及一下响迂,我們熟知是Android程序最底層就是運(yùn)行在linux系統(tǒng)上的考抄。
1.4? Linux分類(lèi)
1.4.1? Linux根據(jù)市場(chǎng)需求不同,基本分為兩個(gè)方向:
(1)圖形化界面版:注重用戶(hù)體驗(yàn)蔗彤,類(lèi)似window操作系統(tǒng)川梅,但目前成熟度不夠
(2)服務(wù)器版:沒(méi)有好看的界面疯兼,是以在控制臺(tái)窗口中輸入命令操作系統(tǒng)的,類(lèi)似于DOS贫途,是我們架設(shè)服務(wù)器的最佳選擇吧彪。
1.4.2? 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ā)行的版本
1.4.3? Linux發(fā)行版本不同丢早,又可以分為n多種:
常見(jiàn)Linux.png
二姨裸、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ī)
虛擬器常用的有兩種:
(1)VMware(威睿)公司的虛擬機(jī)軟件斤葱,功能強(qiáng)大
VMware.png
(2)VitrualBox 虛擬機(jī)軟件 Oracle公司的虛擬機(jī)軟件慷垮,免費(fèi)商品
VitrualBox.png
由于市場(chǎng)上VMware使用率很高,所以我們安裝VMware 苦掘。
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)的電腦。
2.VMWare安裝
1.點(diǎn)擊Vware-workstation-full
2.安裝
3.下一步
4.修改安裝路徑
5.激活地址
3.VMWare安裝Linux( CentOS)
1.新建虛擬機(jī)
2.選擇自定義配置
注意:就這里可以選擇自定義和典型递瑰,如果選擇典型就不用下邊配置了祟牲。
3.選擇Workstation 14.x,點(diǎn)擊”下一步”
4.選擇安裝程序光盤(pán)的鏡像文件iso(選擇鏡像文件路徑)抖部,點(diǎn)擊”下一步”
5.設(shè)置全名,用戶(hù)名,密碼(用戶(hù)名和密碼要記住说贝,登錄的時(shí)候會(huì)用,我這邊全設(shè)置為jack)
6.點(diǎn)擊”下一步”慎颗,選擇安裝路徑乡恕,點(diǎn)擊”下一步”
7.指定磁盤(pán)大小。我個(gè)人是指定100G俯萎。就像我們的windows系統(tǒng)中的磁盤(pán)作用一樣傲宜。點(diǎn)擊“下一步”。
8.確認(rèn)虛擬機(jī)的信息夫啊,點(diǎn)擊“完成”
9.進(jìn)入正式安裝界面
10.選擇推薦的即可
11.選擇創(chuàng)建新虛擬磁盤(pán)
12.選擇默認(rèn)的即可
13.這個(gè)是虛擬機(jī)在winodow中的名稱(chēng)函卒,不需要修改
14.點(diǎn)擊”完成”
15.打開(kāi)虛擬機(jī),第一次需要加載一定時(shí)間
16.進(jìn)入登錄界面撇眯,輸入用戶(hù)名和密碼
三报嵌、Linux常用命令及使用
1.目錄切換命令
1.1 目錄切換命令
window中通過(guò)圖形化界面和鼠標(biāo)可以任意切換需要進(jìn)入的目錄虱咧,但Linux必須通過(guò)cd命令切換目錄。但在學(xué)習(xí)cd命令之前锚国,我們有必要分清Linux的目錄結(jié)構(gòu)
cd usr/? 切換到該目錄下usr目錄
cd ../? ? ?切換到上一層目錄
cd /? ? ? ?切換到系統(tǒng)根目錄
cd ~? ? ? 切換到用戶(hù)主目錄
2.目錄操作命令
2.1 增加目錄
命令:mkdir 目錄名稱(chēng)
示例:在根目錄 / 下 mkdir test腕巡,就會(huì)在根目錄 / 下產(chǎn)生一個(gè)test目錄
2.2 查看目錄
命令:ls [-al] 父目錄
(1)示例:在根目錄 / 下使用ls,可以看到該目錄下的所有的目錄和文件
(2)示例:在根目錄 / 下使用ls -a跷叉,可以看到該目錄下的所有文件和目錄逸雹,包括隱藏的
(3)示例:在根目錄 / 下使用ls -l,可以看到該目錄下的所有目錄和文件的詳細(xì)信息
注意:ls -l 可以縮寫(xiě)成ll
2.3? 尋找目錄
命令:find 目錄 參數(shù)(重點(diǎn))
示例:查找/root下的與test相關(guān)的目錄(文件)find / -name ‘test*
注意:注意這里涉及權(quán)限問(wèn)題云挟,需要先切換到root目錄
//? 切換到root目錄
su root
//?? 切換到普通用戶(hù)目錄
su jack
2.4? 修改目錄名稱(chēng)
命令:mv 目錄名稱(chēng) 新目錄名稱(chēng)
注意:mv的語(yǔ)法不僅可以對(duì)目錄進(jìn)行重命名而且也可以對(duì)各種文件,壓縮包等進(jìn)行 重命名的操作
2.5? 移動(dòng)目錄位置(剪切)
前提:必須切換到跟目錄转质,否則沒(méi)有權(quán)限
命令:mv 目錄名稱(chēng) 目錄的新位置
示例:在test下將newTest目錄剪切到 /usr下面园欣,使用mv newTest usr/
注意:
(1)mv語(yǔ)法不僅可以對(duì)目錄進(jìn)行剪切操作,對(duì)文件和壓縮包等都可執(zhí)行剪切操作
(2)文件顯示為黑色休蟹,文件夾顯示為藍(lán)色沸枯,剪切的時(shí)候必須是在新位置后加/
2.6? 拷貝目錄(復(fù)制)
命令:cp -r 被目錄名稱(chēng) 目錄拷貝的目標(biāo)位置 -----r代表遞歸拷貝
1. 被復(fù)制目錄和目標(biāo)目錄需要寫(xiě)全路徑,否則按照根目錄處理
2. 可以在任意位置復(fù)制
示例:將/usr下的newTest拷貝到根目錄下的test中赂弓,使用cp -r /usr/newTest test/rm
注意:cp命令不僅可以拷貝目錄還可以拷貝文件绑榴,壓縮包等,拷貝文件和壓縮包時(shí)不用寫(xiě)-r遞歸
2.7? 刪除目錄
命令:rm [-rf] 目錄
(1)示例:刪除/usr下的newTest盈魁,進(jìn)入/usr下使用rm -r newTest
(2)示例:刪除/test下的newTest而不需要詢(xún)問(wèn)強(qiáng)制刪除翔怎,在/test下使用rm -rf newTest
注意:rm不僅可以刪除目錄,也可以刪除其他文件或壓縮包杨耙,為了增強(qiáng)大家的記憶赤套,無(wú)論刪除任何目錄或文件,都直接使用rm -rf 目錄/文件/壓縮包
3.文件操作命令
3.1? 文件創(chuàng)建
命令:touch 文件名稱(chēng) ----- 空文件
示例:在test目錄下創(chuàng)建一個(gè)空文件 touch aaa.txt
3.2? 文件查看
命令:cat/more/less/tail 文件
(1)示例:使用cat查看/etc/profile文件珊膜,只能顯示最后一屏內(nèi)容
(2)示例:使用more查看/etc/profile文件容握,可以顯示百分比,回車(chē)可以向下一行车柠, 空格可以向下一頁(yè)剔氏,q可以退出查看
(3)示例:使用less查看/etc/profile文件抵知,可以使用鍵盤(pán)上的PgUp和PgDn向上 和向下翻頁(yè)描滔,q結(jié)束查看
(4)示例:使用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ǔ)充:公司的日志的格式
3.3? 修改文件內(nèi)容
三種模式:命令模式班套,編輯模式猿妈,底行模式
命令:vim 文件
示例:編輯/test下的aaa.txt文件
(1)使用vim aaa.txt
(2)但此時(shí)并不能編輯吹菱,因?yàn)榇藭r(shí)處于命令模式巍虫,點(diǎn)擊鍵盤(pán)i/a/o進(jìn)入編輯模式,可以編輯文件
(3)編輯完成后鳍刷,按下Esc占遥,退回命令模式
此時(shí)文件雖然已經(jīng)編輯完成,但是沒(méi)有保存输瓜,需輸入冒號(hào):進(jìn)入底行模式瓦胎,在底行模式下輸入wq代表寫(xiě)入內(nèi)容并退出,即保存尤揣;輸入q代表強(qiáng)制退出不保存搔啊。
總結(jié):
vim編輯器是Linux中的強(qiáng)大組件,是vi編輯器的加強(qiáng)版北戏,vim編輯器的命令和快捷方式有很多负芋,但此處不一一闡述,大家也無(wú)需研究的很透徹嗜愈,使用vim編輯修改文件的方式基本會(huì)使用就可以了旧蛾。附:《vi使用方法介紹》和《vim命令合集》
關(guān)于vim使用過(guò)程:
在實(shí)際開(kāi)發(fā)中,使用vim編輯器主要作用就是修改配置文件
vim 文件------>進(jìn)入文件----->命令模式------>按i進(jìn)入編輯模式----->編輯文件?? ------->按Esc進(jìn)入底行模式----->輸入:wq/q
3.4? 刪除文件
同目錄刪除:熟記 rm -rf 文件 即可
4.壓縮文件操作命令
4.1? 打包并壓縮文件
打包是指將一大堆文件或目錄什么的變成一個(gè)總的文件蠕嫁,壓縮則是將一個(gè)大的文件通過(guò)一些壓縮算法變成一個(gè)小文件锨天。
Linux中的打包文件一般是以.tar結(jié)尾的,壓縮的命令一般是以.gz結(jié)尾的剃毒。
而一般情況下打包和壓縮是一起進(jìn)行的病袄,打包并壓縮后的文件的后綴名一般為.tar.gz。
命令:tar -zcvf 打包壓縮后的文件名 要打包壓縮的文件
其中:
z:調(diào)用gzip壓縮命令進(jìn)行壓縮
c:打包文件
v:顯示運(yùn)行過(guò)程
f:指定文件名
示例:打包并壓縮/test下的所有文件 壓縮后的壓縮包指定名稱(chēng)為xxx.tar.gz
(1)tar -zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt
(2)或:tar -zcvf xxx.tar.gz /test/*
4.2? 解壓壓縮包(重點(diǎn))
命令:tar [-xvf] 壓縮文件
其中:x:代表解壓
(1)示例:將/test下的xxx.tar.gz解壓到當(dāng)前目錄下:tar -xvf xxx.tar.gz
(2)示例:將/test下的xxx.tar.gz解壓到根目錄/usr下:tar -xvf xxx.tar.gz -C /usr? ------C代表指定解壓的位置
5.其他命令
5.1 顯示當(dāng)前所在位置
命令:pwd
5.2? 搜索命令
命令:grep 要搜索的字符串 要搜索的文件
示例:搜索 /usr/sudu.conf 文件中包含字符串to?的行迟赃,to要高亮顯示
5.3? 管道命令
命令:|? 將前一個(gè)命令的輸出作為本次目錄的輸入
示例:查看當(dāng)前系統(tǒng)中所有的進(jìn)程中包括system字符串的進(jìn)程? ?ps -ef |grep system
5.4? 查看進(jìn)程
命令:ps -ef
示例:查看當(dāng)前系統(tǒng)中運(yùn)行的進(jìn)程
5.5? 殺死進(jìn)程
命令:kill -Signal 進(jìn)程的pid
Signal:發(fā)送給進(jìn)程的信號(hào)
15:默認(rèn)信號(hào)陪拘,你需要被關(guān)閉,請(qǐng)自行停止運(yùn)行并退出纤壁。
9:“無(wú)條件終止”左刽,強(qiáng)制關(guān)閉
5.6? 網(wǎng)絡(luò)通信命令
查看當(dāng)前系統(tǒng)的網(wǎng)卡信息:ifconfig
查看與某臺(tái)機(jī)器的連接情況:ping
5.7? 查看當(dāng)前系統(tǒng)的端口使用
netstat –an,通常和 | grep一起使用
也可以單獨(dú)使用
6.Linux的權(quán)限命令
6.1? Linux的權(quán)限命令
權(quán)限是Linux中的重要概念,每個(gè)文件/目錄等都具有權(quán)限酌媒,通過(guò)ls -l命令我們可以 查看某個(gè)目錄下的文件或目錄的權(quán)限
示例:在隨意某個(gè)目錄下ls -l
第一列的內(nèi)容的信息解釋如下:
權(quán)限.png
這個(gè)字符串有10位欠痴,可以分為4段來(lái)解讀。
第一段(第1位)表示是目錄還是文件秒咨,-表示是文件喇辽,d表示是目錄;
第二段(第2-4位雨席,共3個(gè)字符串)表示文件所屬用戶(hù)對(duì)它的權(quán)限 - 屬主權(quán)限(User)菩咨;
第三段(第5-7位,共3個(gè)字符串)表示文件所屬用戶(hù)組用戶(hù)對(duì)它的權(quán)限 - 屬組權(quán)限(Group);
第四段(第8-10位抽米,共3個(gè)字符串)表示其他用戶(hù)對(duì)它的權(quán)限 - 其他權(quán)限(other)特占;
注:
①我們用3位8進(jìn)制來(lái)表示文件的權(quán)限,r(read)用4標(biāo)識(shí)云茸,w(write)用2標(biāo)識(shí)是目,x(excute)用1標(biāo)識(shí)
②r–可讀,w–可寫(xiě)标捺,x–可執(zhí)行懊纳。
③每一段的三位順序不可變,如果沒(méi)有對(duì)應(yīng)的權(quán)限亡容,則使用-表示
上圖中的-rwxrw-r–可以用八進(jìn)制數(shù)字764表示嗤疯。
案例:
-rwxrwxrwx
轉(zhuǎn)算成八進(jìn)制,777萍倡,代表這是一個(gè)對(duì)所有人開(kāi)發(fā)權(quán)限的文件身弊。
6.2? 修改文件/目錄的權(quán)限的命令:chmod
示例:修改/test下的aaa.txt的權(quán)限為屬主有全部權(quán)限,屬主所在的組有讀寫(xiě)權(quán)限列敲,
其他用戶(hù)只有讀的權(quán)限
chmod u=rwx,g=rw,o=r aaa.txt
上述示例還可以使用數(shù)字表示:
chmod 764 aaa.txt
7.free查看內(nèi)存信息
7.1? free查看內(nèi)存信息
free指令會(huì)顯示內(nèi)存的使用情況,包括實(shí)體內(nèi)存帖汞,虛擬的交換文件內(nèi)存戴而,共享內(nèi)存區(qū)段,以及系統(tǒng)核心使用的緩沖區(qū)等
df? df -h 命令用于顯示目前在 Linux 系統(tǒng)上的文件系統(tǒng)磁盤(pán)使用情況統(tǒng)計(jì)
8.top查看資源信息(CPU)
8.1? top查看資源信息(CPU)
補(bǔ)充:
關(guān)機(jī)命令
reboot? 重新啟動(dòng)操作系統(tǒng)
shutdown -h now? 立刻關(guān)機(jī)翩蘸,其中now相當(dāng)于時(shí)間為0的狀態(tài)
shutdown -h 10:23
shutdown -h +10? 系統(tǒng)再過(guò)十分鐘后自動(dòng)關(guān)機(jī)
總結(jié)
Linux命令
? ? 1.目錄操作
? ? ? ? (1)cd usr/? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 切換到該目錄下usr目錄
? ? ? ? (2)cd ..? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 切換到上一層目錄
? ? ? ? (3)cd /? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?切換到系統(tǒng)根目錄
? ? ? ? (4)mkdir 目錄名稱(chēng)? ? ? ? ? ? ? ? ? ? ? ? ?創(chuàng)建目錄
? ? ? ? (5)ls? 目錄名稱(chēng)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查詢(xún)?cè)撃夸浵滤械哪夸浐臀募?/p>
? ? ? ? (6)ls [-a]? 目錄名稱(chēng)? ? ? ? ? ? ? ? ? ? ? ? 查詢(xún)?cè)撃夸浵滤械哪夸浐臀募?包含隱藏文件
? ? ? ? (7)ls [-l]?? 目錄名稱(chēng)? ? ? ? ? ? ? ? ? ? ? ? ?查詢(xún)?cè)撃夸浵滤械哪夸浐臀募脑敿?xì)信息
? ? ? ? (8)find / -name 目錄名稱(chēng)? ? ? ? ? ? ? ?查找/root下的目錄(文件)
? ? ? ? (9)mv 目錄名稱(chēng) 新目錄名稱(chēng)? ? ? ? ? 修改目錄名稱(chēng)
? ? ? ? (10)mv 目錄名稱(chēng) 目錄的新位置? ? ?剪切
? ? ? ? (11)cp -r 目錄名稱(chēng) 目錄的目標(biāo)位置? ? 拷貝
? ? ? ? (12)rm -rf? 目錄? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 強(qiáng)制刪除目錄
? ? 2.文件操作
? ? ? ? (1)touch 文件名稱(chēng)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?創(chuàng)建空文件
? ? ? ? (2)cat/more/less/tail 文件? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看文件內(nèi)容
? ? ? ? (3)tail -f 文件? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?動(dòng)態(tài)查看/實(shí)時(shí)查看文件(日志)
? ? ? ? (4)grep 要搜索的字符串 要搜索的文件? ? ? ? ?關(guān)鍵字搜索
? ? ? ? (5)vi/vim? 文件? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?修改文件內(nèi)容
? ? ? ? (6)rm -rf 文件? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?強(qiáng)制刪除文件
? ? 3.文件的打包
? ? ? ? tar -zcvf 文件名.tar? 要打包的文件
? ? 4.文件的解壓?
? ? ? ? tar -xvf 文件名.tar
? ? 5.擴(kuò)充:將文件解壓到固定位置
? ? ? ? tar -xvf 文件名.tar -C 指定解壓的位置
? ? 6.查詢(xún)當(dāng)前所在位置
? ? ? ? pwd? ? ?
? ? 7.查看進(jìn)程
? ? ? ? ps -ef | grep 進(jìn)程名稱(chēng)(tomcat/mysql)
? ? 8.殺死進(jìn)程
? ? ? ? kill -9 進(jìn)程pid
? ? 9.查看端口號(hào)
? ? ? ? netstat -an | grep 端口號(hào)(3306)
? ? 10.查看服務(wù)器ip
? ? ? ? ifconfig
? ? 11.查看網(wǎng)絡(luò)是否能正常使用
? ? ? ? ping 外網(wǎng)地址? ? ? ? ? ?? 查看是否能訪問(wèn)外網(wǎng)
? ? ? ? ping 內(nèi)網(wǎng)ip? ? ? ? ? ? ? ? 查看是否能訪問(wèn)內(nèi)網(wǎng)
? ? 12.權(quán)限命令
? ? ? ? chmod 777 文件? ? ? ? 賦權(quán)
? ? 13.查看cpu
? ? ? ? top
? ? 14.查看磁盤(pán)信息
? ? ? ? df -h
? ? 15.查看內(nèi)存信息
? ? ? ? free? ?
? ?16.關(guān)機(jī)命令
? ? ? ? (1)shutdown -h now? ? ? ? ?立刻關(guān)機(jī)所意,其中now相當(dāng)于時(shí)間為0的狀態(tài)
? ? ? ? (2)shutdown -h 10:23
? ? ? ? (3)shutdown -h +10? ? ? ? ?系統(tǒng)再過(guò)十分鐘后自動(dòng)關(guān)機(jī)
? ? 17.重新啟動(dòng)
? ? ? ? reboot? ? 重新啟動(dòng)操作系統(tǒng)
四、遠(yuǎn)程連接工具的使用
1. 為什么使用遠(yuǎn)程連接工具
(1)實(shí)際應(yīng)用中服務(wù)器一般放在遠(yuǎn)端(機(jī)房)或者云服務(wù)上催首,測(cè)試人員不可能直接到現(xiàn)場(chǎng)操作 Linux服務(wù)器
(2)無(wú)法現(xiàn)場(chǎng)操作扶踊,所以系統(tǒng)通過(guò)遠(yuǎn)程工具進(jìn)行連接才可以操作Linux服務(wù)器
2. 經(jīng)常使用的遠(yuǎn)程連接工具有哪些
在工作中經(jīng)常使用的遠(yuǎn)程連接工具有ssh,xshell郎任,F(xiàn)inalShell秧耗,secureCRT等。
課程中我們使用SSH工具進(jìn)行遠(yuǎn)程連接舶治,該工具是免費(fèi)的圖形化界面及命令行窗口集一身的遠(yuǎn)程工具分井。安裝包如下:
安裝后,會(huì)出現(xiàn)兩個(gè)圖標(biāo):
點(diǎn)擊圖形化界面圖標(biāo):
輸入Linux服務(wù)器密碼:
上圖中的HostName是在Linux系統(tǒng)的IP
注意:查不到IP原因
查看虛擬機(jī)是否聯(lián)網(wǎng)霉猛,可以切換虛擬機(jī)中的橋接和net
查看Windows下網(wǎng)絡(luò)適配器是否有兩個(gè)vm的尺锚,沒(méi)有選擇重現(xiàn)安裝VM或者https://blog.csdn.net/weixin_47397805/article/details/112393232?spm=1001.2014.3001.5501
查看服務(wù)是否全部開(kāi)啟
進(jìn)入界面:
關(guān)于遠(yuǎn)程工具亂碼的解決:
使用遠(yuǎn)程工具進(jìn)行連接時(shí),如果linux有中文文件或目錄惜浅,顯示時(shí)會(huì)出現(xiàn)亂碼瘫辩,原因是linux編碼是UTF-8,而遠(yuǎn)程工具默認(rèn)是當(dāng)前系統(tǒng)本地編碼即GBK。所以解決方案是統(tǒng)一兩者編碼就OK了伐厌,但是該SSH Secure工具不能設(shè)置編碼承绸,所以通過(guò)修改linux的系統(tǒng)編碼的方式進(jìn)行統(tǒng)一編碼。
在linux的/etc/sysconfig目錄下有一個(gè)i18n的文件代表linux的系統(tǒng)編碼
將其從UTF-8修改成GBK重現(xiàn)連接linux即可:
五弧械、Linux的軟件安裝
在安裝軟件之前八酒,必須先拷貝數(shù)據(jù)到Linux系統(tǒng),直接拉過(guò)去即可
最好存放在普通用戶(hù)目錄下刃唐,因?yàn)檫@里文件才能隨意操作羞迷。然后把文件存在公共目錄usr/local下,創(chuàng)建自己的目錄画饥。
1.JDK安裝
注意:rpm與軟件相關(guān)命令 相當(dāng)于window下的軟件助手 管理軟件
步驟:
(1)查看當(dāng)前Linux系統(tǒng)是否已經(jīng)安裝java
輸入 rpm -qa | grep java
(2)卸載兩個(gè)openJDK
輸入rpm -e --nodeps 要卸載的軟件
(3)上傳jdk到linux
(4)安裝jdk運(yùn)行需要的插件yum install glibc.i686(選做)
(5)解壓jdk到/usr/local下 tar –xvf jdk-7u71-linux-i586.tar.gz –C /usr/local
(6)配置jdk環(huán)境變量衔瓮,打開(kāi)/etc/profile配置文件,將下面配置拷貝進(jìn)去
#set java environment
JAVA_HOME=/usr/local/jdk/jdk1.8.0_131
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
注意:路徑一定要和自己真實(shí)路徑一致抖甘。進(jìn)入到自己jdk然后pwd 热鞍, 然后復(fù)制路徑即可。
(7)重新加載/etc/profile配置文件 source /etc/profile
驗(yàn)證:java –version
2.Mysql安裝
步驟:
(1)準(zhǔn)備工作
①查看CentOS自帶的mysql
查看:輸入 rpm -qa | grep mysql
卸載:將自帶的mysql卸載
②查看帶有mariadb
查看:[root@fgy src]# rpm -qa|grep mariadb
卸載:[root@fgy src]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
③查找?guī)в衜ysql的文件及文件夾都刪除
查看: find / -name mysql
刪除:rm -rf 路徑
(2)上傳Mysql到linux
使用ssh衔彻,將本地?cái)?shù)據(jù)拖到遠(yuǎn)程普通用戶(hù)下
(3)解壓Mysql到/usr/local/下的mysql目錄(mysql目錄需要手動(dòng)創(chuàng)建)內(nèi)
cd /usr/local
mkdir mysql
ls
tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql
得到結(jié)果:
(4)在/usr/local/mysql下安裝mysql
//安裝依賴(lài)
[root@fgy src]# yum install libaio
[root@fgy src]# yum install perl
[root@fgy src]# yum install net-tools
//安裝mysql
[root@localhost src]# rpm-ivh mysql-community-common-55.7.29-1.el7.x86_64.rpm
[root@localhost src]# rpm-ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
[root@localhost src]# rpm-ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm--nodeps--force
[root@localhost src]# rpm-ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm--nodeps--force
(5)啟動(dòng)mysql
centos7:service mysqld start
centos6:service mysql start
查看啟動(dòng)狀態(tài): service mysqld status
(6)將mysql加到系統(tǒng)服務(wù)中并設(shè)置開(kāi)機(jī)啟動(dòng)
加入到系統(tǒng)服務(wù):chkconfig --add mysql
自動(dòng)啟動(dòng):chkconfig mysql on
(7)登錄mysql(5.5的版本為空)
mysql安裝好后會(huì)生成一個(gè)臨時(shí)隨機(jī)密碼薇宠,存儲(chǔ)位置在/root/.mysql_secret
centos7查看密碼: grep password /var/log/mysqld.log
centos6查看密碼: cat /root/.mysql.secret
msyql –u root -p
(8)修改mysql的密碼
必須修改密碼,否則會(huì)報(bào)錯(cuò)
mysql> select user();
ERROR 1820(HY000):You must reset your password using ALTER USER statement before executing this statement.
但是修改密碼有要求艰额,必須為8位澄港,并且包含字母、數(shù)字柄沮、特殊字符回梧,可以修改
//修改以下參數(shù)只限制了八位
mysql> set global validate_password_policy=0;
QueryOK,0 rows affected(0.00 sec)
set password = password('12345678');
(9)開(kāi)啟mysql的遠(yuǎn)程登錄
默認(rèn)情況下mysql為安全起見(jiàn)祖搓,不支持遠(yuǎn)程登錄mysql狱意,所以需要設(shè)置開(kāi)啟?? 遠(yuǎn)程登錄mysql的權(quán)限
登錄mysql后輸入如下命令:
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
其中,root為賬號(hào)拯欧,第二個(gè)root為遠(yuǎn)程數(shù)據(jù)庫(kù)密碼(12345678)
(10)開(kāi)放Linux的對(duì)外訪問(wèn)的端口3306
先查看已經(jīng)開(kāi)放的端口:netstat -aptn
再開(kāi)放:
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save ---將修改永久保存到防火墻中
3.Tomcat安裝
步驟:
(1)上傳Tomcat到linux上
(2)解壓Tomcat到/usr/local下
(3)開(kāi)放Linux的對(duì)外訪問(wèn)的端口8080详囤,ip是虛擬機(jī)的ip(ifconfig)
如果瀏覽器打不開(kāi),可以嘗試輸入以下命令:
關(guān)閉防火墻:systemctl stop firewalld
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save
(4)啟動(dòng)關(guān)閉Tomcat
進(jìn)入tomcat的bin下啟動(dòng):./startup.sh
進(jìn)入tomcat的bin下關(guān)閉:./shutdown.sh
4.在linux上部署jenkins
(1)將jemkins.war包拷貝到tomcat中的webapps目錄下即可
(2)重啟tomcat
(3)查看webapps目錄下會(huì)有自動(dòng)解壓的Jenkins目錄
(4)訪問(wèn)項(xiàng)目哈扮,具體Jenkins的安裝查考"Jenkins的部署文檔"
(5)跳轉(zhuǎn)到解鎖界面
(6)在對(duì)應(yīng)的文件中找到對(duì)應(yīng)的隨機(jī)生成的密碼纬纪,添加即可
cd /root/.jenkins/secrets/
將密碼填寫(xiě),點(diǎn)擊繼續(xù)
(7)點(diǎn)擊”安裝推薦的插件”
由于取決于網(wǎng)速問(wèn)題滑肉,所以需要等待一定的時(shí)間
直到自動(dòng)出現(xiàn)如下圖所示信息
(8)填寫(xiě)用戶(hù)名包各,密碼和對(duì)應(yīng)的郵箱,點(diǎn)擊”保存并完成”
(9)繼續(xù)點(diǎn)擊”保存并完成”按鈕
(10)點(diǎn)擊”開(kāi)始使用jenkins”
則進(jìn)入Jenkins主界面
(11)創(chuàng)建項(xiàng)目,點(diǎn)擊”新建item”
(12)下載插件
六.總結(jié)
1.安裝jdk,tomcat,jenkins(話術(shù))
安裝jdk靶庙,tomcat(配置環(huán)境)? ?
1.從公司的工具庫(kù)中拿到j(luò)dk.tar问畅,tomcat.tar包? ?
2.通過(guò)遠(yuǎn)程連接工具(ssh/xshell)連接Linux服務(wù)器,將jdk和tomcat上傳到服務(wù)器上? ?
3.首先解壓jdk.tar包(tar -xvf),將解壓的之后的jdk路徑填寫(xiě)在配置文件中? ?
4.重啟配置文件? ?
5.通過(guò)Java -version 判斷是否安裝成功,安裝成功則顯示jdk的版本信息(1.8.0的版本)
6.jdk配置成功之后护姆,接下來(lái)解壓tomcat.tar包(tar -xvf )? ?
7.放8080端口? ?
8.在tomcat中的bin目錄在矾端,啟動(dòng)(./startup.sh),? ?
9.在游覽器中輸入ip:8080,可以檢驗(yàn)tomcat是否成功啟動(dòng)(如果tomcat沒(méi)有啟動(dòng)卵皂,可以通過(guò)ps -ef |? ? ? ?? grep tomcat 查看tomcat進(jìn)程是否開(kāi)啟秩铆,如果沒(méi)有開(kāi)啟,再次執(zhí)行啟動(dòng)tomcat命令)
2.項(xiàng)目部署(web端項(xiàng)目)
1:將開(kāi)發(fā)的壓縮包(.tar),解壓之后灯变,放到tomcat中的webapps目錄下殴玛,重啟tomcat(./startup.sh)
2:在游覽器中輸入ip:8080/解壓后名稱(chēng),查看項(xiàng)目
3.安裝MySQL
1.從公司的工具庫(kù)中拿到mysql.tar包
2.通過(guò)遠(yuǎn)程連接工具(ssh/xshell)連接Linux服務(wù)器添祸,將mysql壓縮包上傳到服務(wù)器上
3.解壓mysql.tar包(tar -xvf )
4.解壓后的rpm文件,分別進(jìn)行客戶(hù)端和服務(wù)端的安裝(rpm -ivh)
5.啟動(dòng)mysql(service mysql start)
6.將mysql加到系統(tǒng)服務(wù)中并設(shè)置開(kāi)機(jī)啟動(dòng)
7.登錄mysql(msyql –u root -p)
8.修改密碼(set password = password('xxx');)
9.需要設(shè)置開(kāi)啟遠(yuǎn)程登錄mysql的權(quán)限
10.開(kāi)放Linux的對(duì)外訪問(wèn)的端口3306
11:通過(guò)連接MySQL工具(navicat)直接訪問(wèn)