在第2次世界大戰剛剛結束(以抗日戰爭勝利做爲標記),也就是19世紀的40年代末西方國家的通用電氣,麻省理工大學和貝爾工做室倡導了一個超級計算機的開發計劃,這計劃被稱爲Multics工程計劃,這個計劃最終是以失敗了結。php
但這個計劃的失敗爲後人對計算機操做系統的研究和開發的寶貴經驗,肯•湯譜森和丹尼斯•裏奇總結了失敗的經驗在19世紀的60年代末(蘇美冷戰時代)發明了聞名中外的Unix操縱系統,因爲肯•湯譜森和丹尼斯•裏奇不侷限於計算機科學只用于軍事和國防領域,使得計算機科學獲得了迅速的發展。html
今天人們常說的蘋果,安卓和Linux操縱系統都是從Unix發展而來的,因此計算機科學實際上是站在巨人的肩膀上發展起來的一個領域。node
Linux是林納斯•託瓦茨在Uninx的基礎上開發和改良的操做系統,在理查德•馬修•斯托曼的幫助下Linux進行了開源發佈,發展到了今天產生了各類以Linux爲核心的操做系統,人們習慣上把以Linux做爲核心發展起來的操做系通通稱爲Linux的分支,在科學的應用領域,主要也是使用Linux的分支爲主。mysql
其中以Red Hat(紅帽子)系列的分支最爲出名,而該公司開發其中一款產品CentOS被世界上大多數公司用於做爲服務器的操做系統底層,目前國內版本以CentOS6爲主導,其中CentOS6.5和CentOS6.8運用最爲普遍,阿里雲的服務器產品當中就能夠選擇CentOS6.8這個操做系統,CentOS6.5和CentOS6.8的功能是如出一轍的,然而CentOS6.8的CA證書須要提交相關的專業認證方式,咱們通常作不到因此咱們沒法正常使用CentOS6.8,但阿里雲公司幫用戶實現了這個專業認證,因此在阿里雲上咱們可使用CentOS6.8linux
在學習時咱們通常選擇安裝CentOS6.5來進行學習就能夠了sql
1.簡單易用,安全性高,且支持圖形操做界面shell
2.其安裝步驟支持全圖形操做,且有中文包補丁數據庫
3.可以免費實如今線安裝服務(yum命令)apache
4.被譽爲世界上最適合做爲服務器的底層的Linux操做系統,其性能十分穩定vim
5.有32位和64位兩種操做系統安裝鏡像
6.多任務,多用戶的操做系統
虛擬機其實是一個虛擬PC的軟件,它能夠在現有的操做系統上
虛擬出一個新的硬件環境,至關於虛擬了一臺新的計算機,
從而實現了一臺機器獨立運行兩個或者兩個以上的操做系統。
虛擬機軟件:Vmware,VirtulBox,VisualPC
安裝詳細步驟:請參考《VMware虛擬機安裝》
因爲安裝VMware的過程和安裝一個QQ軟件差很少,因此建議同窗們安裝手冊一步一步安裝就能夠了.
第1步:選擇建立新的虛擬機按鈕
第2步:在彈出的界面中選擇自定義安裝
第3步:默認操做,點擊下一步
第4步:選擇稍後安裝
第5步:正確選擇操做系統
第6步:命名虛擬機名稱和選擇安裝路徑,不要出現中文和特殊字符
第7步:默認操做,選擇下一步
第8步:必須選擇內存爲1024M,不然安裝可能會失敗,同時會佔據很是高的內存消耗
第9步:選擇橋接網絡
第10步:默認操做,選擇下一步(安裝時主要對比圖中選項,由於不一樣電腦默認項可能不一樣)
第11步:出現如下的界面,那麼就表明成功配置了虛擬機
鏡像下載地址:
http://www.centoscn.com/CentosSoft/iso/2013/1205/2196.html
安裝Centos6.5詳細步驟以下:
第1步:打開CD/DVD選項
第2步:選擇下載回來的Cenos6.5的鏡像文件(映像文件),默認是.iso的後綴名,選擇完成後,點擊肯定按鈕
第3步:開啓並運行虛擬機,點擊下圖所示的按鈕
第4步:讓鼠標進入虛擬機當中(Ctrl+G或雙擊進入),而後選擇第一項,回車
第5步:跳過鏡像的檢查,選擇skip按鈕,使用tab鍵,而後回車
第6步:若是你的操做系統出現這個選項就選擇Ok而後回車,可是有一些系統計算機的操做系統是不會出現該選項的,因此若是你不出現,那麼這一步能夠忽略,由於這個界面的出現會跟你的硬盤設備有關係
第7步:默認操做,選擇next按鈕
第8步:選擇語言爲簡體中文和選擇鍵盤爲美式鍵盤
第9步:選擇基本設備,而後選擇下一步
第10步:忽略全部的數據
第11步:默認操做,選擇下一步
第12步:時區的選擇咱們通常放在命令行操做當中,因此安裝時直接使用默認操做,點擊下一步便可
第13步:牢記你輸入的密碼是什麼,由於這個密碼是root超級管理員的密碼,建議使用123456
第14步:選擇替換現有Linux系統,而後點擊下一步
第15步:格式化操做,選擇將修改寫入磁盤,點擊下一步
第16步:選擇安裝圖形操做界面
第17步:軟件的安裝和編譯,耐心等待15分鐘左右
編譯後須要從新引導,從新引導其實就是一個重啓的過程.
第18步:默認操做,選擇前進
第19步:因爲linux存在兩種用戶(root用戶,普通用戶),如下的界面實際上是建立一個普通用戶登陸linux操做系統
第20步:默認操做
第21步:若是出現如下界面就表明linux安裝成功了
在咱們學習的過程當中,咱們通常使用虛擬機去運行Linux這時咱們須要知道如下兩個小技巧:
1.進入虛擬機(鼠標對着虛擬機雙擊或者使用ctrl+G)
2.退出虛擬機(按下ctrl+alt鍵)
以上內容無須死記硬背,能夠參看虛擬機的下方提示
其實在linux當中有普通用戶和root用戶,不過linux它是一個分權限的操做系統,爲了方便學習通常咱們使用root先進行登陸,由於root是超級用戶,基本不授權限的限制,因此學習起來更簡單和方便,當咱們學習完了權限的操做以後咱們再嘗試使用普通用戶登陸操做系統.
若是但願在圖形操做界面中使用root進行登陸,那麼就要遵循如下步驟
第1步:選擇其餘
第2步:輸入用戶名爲root,這個用戶名是安裝時自動生成的超級管理用戶名,嚴格區別大小寫,root必須是小寫的用戶名
輸入完成選擇登陸按鈕,就會讓您輸入密碼
第3步:輸入root的密碼就是安裝時的密碼,這裏爲123456
而後點擊登陸就能夠進入centos的桌面
第4步:進入桌面後,通常會出現這樣的界面,選擇關閉,有時還會拋出一些所謂的異常提示,這一切都不須要關心,直接忽略便可,不影響你的學習
在Linux操做系統當中與windows最大的區別在於Linux沒有盤符(沒有C盤,D盤...的說法),由於Linux把一切都當作目錄和文件,包括鼠標,磁盤linux都把它們當成了目錄和文件來對待而且存入到對應目錄當中,所以學習linux最好的方法是首先要創建一個目錄結構認識,但這些認識並不是叫你死記硬背
如下這些目錄就是咱們可能會用到的目錄,可是咱們用到時候咱們再去記住會比較容易理解,如今只需創建一個 概念就能夠了
根目錄( / ) : 根目錄用於存放Linux全部的文件和相關目錄,根目錄佔據硬盤空間是最大
啓動目錄( /boot ) : 至關於windows的C盤,存放linux啓動的時候必須調用的啓動相關文件和目錄,這個目錄通常只有200M左右,該目錄不能隨便的修改和刪除,不然可能會致使linux沒法正常啓動
設備硬件目錄(/dev) : 該目錄用於存放計算機的硬件設備,如:磁盤,鼠標,硬盤信息等..
配置選項目錄(/etc) : 用於存放linux相關的配置文件和軟件配置文件,如:數據庫配置,網卡配置等等,通常用於開發當中的使用率是100%
宿主目錄(/home和/root) : 至關於一個用戶的房間,存放着與linux用戶相關的文件和操做信息,在開發當中使用宿主目錄的概率比較低,/home目錄通常表示普通用戶的房間,/root表示超級管理員的房間
核心庫目錄(/lib) : 通常用戶存放一些軟件運行時的核心文件,好比你安裝了一個mysql,那麼該目錄就會存放mysql的相關數據文件和鏈接文件,通常這個目錄咱們在php開發當中使用的概率也是100%
掛載目錄(/media /misc /mnt) : 通常用於文件,光盤和移動設備的掛載,在開發當中使用掛載的概率比較低,然而咱們會在rpm的安裝當中講解
第三方軟件下載或者安裝的目錄(/opt) : 可是這個目錄通常沒有人會使用它,由於人們習慣上是使用/usr/local/src的目錄來代替該目錄,咱們會在sphinx部分詳解
資源目錄(/usr) : 注意usr不是user,其英文是unix software resource的簡寫,實際上是unix遺留下的一個資源目錄,通常人用它來進行軟件的安裝和軟件下載,好比安裝sphinx等等,在開發當中使用的概率是100%
運行時目錄(/var) : 這個目錄也稱爲可變目錄,通常用於php當中是做爲apache服務器的站點目錄,表示爲/var/www/html,在lamp的開發環境中使用的概率也是100%
若是用到更多目錄,咱們須要參看對應Linux文檔和手冊,通常是用到時候再去看,不須要死記硬背
1.Linux沒有盤符,windows擁有盤符
2.Linux嚴格區分大小寫,而windows不區分大小寫,因爲linux嚴格區分大小寫,所以linux認爲a.php和A.PHP是兩個不一樣的文件,而在windows當中windows會認爲這是2個相同的文件,因此windows會有如下的效果
(linux的效果)
(windows的效果)
3.windows大部分的工做是經過圖形操做界面就可以完成,linux大部分的工做是經過命令行來完成,linux的圖形操做界面可以完成的工做是很基本的,假設你須要安裝sphinx的數據庫軟件,那麼linux的圖形操做沒法完成這項工做,由於這時必需要經過linux的命令編譯才能完成安裝,因此學習linux必需要學習linux的命令
Linux不少人認爲它很是難學,緣由就是由於linux命令聽說有17800多個,若是你經過當當網或其餘的網站進行搜索的話,你會發覺linux有一些所謂的命令大全手冊讓你去購買,然而咱們若是購買這樣手冊是很是不值得的,由於linux的命令是貴在理解而不是死記硬背,在開發當中其實咱們使用到的經常使用命令頂多只有60多個,這命令通常都是有應用場景和幫助能夠查看不必買一本命令大全.
學習Linux的命令必須先理解什麼叫shell,其實shell是一個命令的解析器,對於linux來講shell其實有不少工具,好比圖形操做中的終端就是一個shell解析器的命令輸入工具,更爲強大和人性化的工具備putty和xshell,咱們學習之初能夠先從終端的shell工具開始,在linux圖形操做界面中右鍵選擇終端打開,以下圖所示:
shell各項詳解以下:
若是但願切換用戶登陸操做系統,那麼咱們應該如何切換用戶,而且shell的標誌會產生如何的變化呢?
命令做用:切換用戶
命令格式: su [一個存在的linux用戶]
命令測試效果以下:
由root切換爲普通用戶zhangsan,會發覺shell標誌發生改變,登陸名改變爲zhangsan,身份標誌改變爲$,若是由root切換一個不存在的用戶chenguanxi,那麼出現如下提示:
注意事項:
若是當前是root用戶切換爲普通用戶,那麼是不須要輸入任何密碼的,由於root是超級管理員。若是當前的用戶是一個普通的用戶切換成爲root,那麼必須輸入超級管理員的密碼。
效果以下:
若是咱們但願在linux的shell命令行當中切換目錄那麼應該怎麼作呢?
答案就是使用cd命令
命令做用:切換目錄
命令格式: cd [目的目錄]
命令測試效果以下:
思考:輸入命令cd /bin和輸入命令cd /usr/bin獲得的shell標識結果是同樣的嗎?
獲得這樣效果,咱們應該如何區分當前因此在的位置的詳細信息?
命令做用:顯示當前所在的工做目錄
命令格式: pwd
命令測試效果以下:
①宿主目錄(~):這個目錄比如用戶的房間,存放着當前登陸Linux系統用戶的相關信息
在linux操做系統當中只有兩個目錄是表示用戶的宿主目錄,1個是root目錄1個是home目錄,root目錄爲root用戶單獨全部,home目錄爲全部的普通用戶所共享,普通共享的目錄都存在在home下以本身的用戶名進行命名
②上一層目錄:這個目錄的表示方式用 .. 或者 ../ 來表示
..或者../徹底取決於我的的喜歡,功能是同樣的
③當前所在目錄:這個目錄用 . 或者 ./ 來表示
當前我所在目錄在home下表示當前的目錄zhangsan,咱們可使用如下命令進行簡寫
命令做用:列出目錄當中的內容(目錄和文件)
命令格式:
①直接鍵入ls命令的結果以下圖所示
②使用格式 ls [-選項][文件或目錄...]
使用選項 -l(long) :表示以詳細格式顯示列表(等同於ll命令的做用)
雖然ls -l能夠詳細顯示當前目錄的內容,可是咱們發覺人性化比較差,如何提升人性化的閱讀方式?
使用選項 -h:表示以人性化的方式顯示列表
注意:-h選項通常不多單獨使用,它是組合其餘的選項共同使用的,若是單獨使用-h選項會沒有任何的效果
使用選項 -a(all) :表示顯示所有文件(包括隱藏文件)
在linux當中隱藏的通常在前面會存在一個.
-a能夠單獨使用,以下圖所示:
這個指令其實就是ls -l指令的簡寫
①直接關機:poweroff , halt(這兩個實際上是unix的關機命令)
②定時關機:按照規定關機,以分鐘做爲單位
好比:若是但願10分鐘後關機,可使用命令: shutdown -h 10
注意:ctrl+c在Linux不是複製,而是終止命令的運行
若是但願立刻關機,那麼應該如何操做呢?
使用命令: shutdown -h 0 或者 shutdown -h now
回車後立刻關機,運行結果以下:
命令做用:使系統進行重啓
命令格式: reboot
重啓命令的使用通常咱們是用於修改了配置文件以後,好比修改selinux的配置文件就必須重啓服務器才能生效,這時就須要用到reboot,編寫命令以下:
回車執行就會使得linux發生重啓
命令做用:建立目錄
命令格式: mkdir [目錄名稱]
命令測試效果以下:
命令做用:建立一個或多個文件
命令格式: touch [一個或多個文件名]
命令測試效果以下:
touch這個命令除了能夠建立單個文件,也能夠同時建立多個文件
①格式: [命令] --help
例如:查看ls命令的幫助,咱們可使用命令ls --help
注意:不是全部的命令都具有--help這個選項,例如使用cd命令加上--help就獲取不了任何的幫助信息,以下圖所示:
②格式: man [命令]
例如:可使用man去查看cd命令的幫助,以下圖所示:
執行後,獲取的文檔是所有爲英文的,同時打開幫助以後,須要使用特殊的手段退出幫助
注意:只有英文的幫助文檔,退出幫助:q
在職場的開發當中,若是咱們進行開發咱們還須要時時在身邊準備一個離線的命令幫助文檔
命令做用:清除屏幕命令
命令格式:clear
雖然clear命令能夠清除屏幕,可是人們在習慣中使用得不多,由於人們習慣使用快捷鍵來取代命令的輸入,clear命令的快捷鍵是ctrl+l
命令做用:顯示當前登陸用戶的操做歷史
命令格式:history
命令測試效果以下:
注意:history看到只是本身相關操做歷史,若是切換用戶爲zhangsan那zhangsan這個用戶 使用history命令只可以查看本身的相關操做
問題來了:在project目錄當中那麼咱們須要爲index.php寫入相關代碼,這時咱們應該如何才能作到呢?答案確定是使用編輯器,可是Linux咱們使用的編輯器不叫Sublime Text也不叫Editplus等等,在Linux有一個默認安裝好的編輯器軟件叫作vim(vim有一個美譽叫作,編輯器之神,可是我的很不認同這個美譽,由於vim編寫代碼不是非理想,可是vim編寫配置文件很是方便)
VI/VIM是一款編輯器,它們是Linux自帶編輯器。VIM是VI的升級版.
功能上VI和VIM都是同樣的。
VIM具備語法着色的功能而VI沒有,因此人們會更加喜歡使用VIM
輸入命令vim那麼彈出如下界面就表明vim是存在的(退出,輸入:q回車)
命令格式: vim [打開一個或者多個文件,文件是能夠存在的文件也能夠是存在的文件]
vim若是打開一個不存在的文件,那麼會在底部顯示一個新文件的標識,以下圖所示:
若是這個文件已經存在,vim打開是不會顯示新文件的標識的:
vim打開一個不存的文件若是沒有保存,這文件其實並沒建立
注意:vim沒有菜單,只有命令,跟windows編輯器不同
vim其實有所謂編輯模式,vim在打開一個文件以後其實vim處於一個命令模式的狀態在等待用戶輸入正確的指令才能切換到編輯模式當中,若是你輸入的是1111這的內容在vim的命令模式下看來這個不是一個正確的指令,因此vim什麼都不會作,這時有些人認爲當前是死機的狀態,然而不是,這是一個等待命令輸入的狀態
①輸入表格中的命令就能夠進入編輯模式
命令 |
|
i |
在光標以前插入內容 |
a |
在光標以後插入內容,a就是after的意思 |
o |
在光標的下一行插入內容 |
I |
讓光標回到行首進行內容的插入 |
A |
讓光標去到行末進行內容的插入 |
O |
在光標的上一行插入內容 |
出現如下標誌表明當前處於編輯模式:
②退出編輯模式按esc鍵
①輸入:就可讓vim進入末行模式,如下命令是末行模式的經常使用功能
命令 |
|
:w |
w是write的意思,保存 |
:q |
退出 |
:wq |
保存並退出 |
:x |
保存並退出(是:wq的簡寫方式) |
:q! |
強制退出,一般用於不保存修改就退出 |
:w! |
強制寫入 |
:wq! |
強制寫入並退出 |
/搜索關鍵字 |
高亮顯示搜索的關鍵字 |
:nohls |
取消高亮顯示 |
:set nu |
設置行號 |
:set nonu |
取消行號 |
:數字 |
定位到某一行 |
出現如下標誌表明當前處於末行模式:
②使用兩次esc鍵能夠退出末行模式
只要鍵入vim打開文件就處於命令行模式
命令 |
|
gg |
回到首行 |
G |
去到末行 |
dd |
刪除1行 |
ndd |
刪除 n行,4dd刪除4行 |
u |
撤銷操做 |
uu |
類前進操做 |
yy |
複製 |
p |
粘貼 |
r |
r是replace的意思,替換光標處的內容 |
x |
刪除光標定位的字符 |
有時咱們須要使用vim編輯多個文件,那麼我可使用如下命令進行編輯:
若是須要切換文件的編輯就須要使用如下命令,:wq只能保存並退出當前的文件編輯,建議使用:w
命令 |
|
:next |
進入下一個文件的編輯狀態,該命令必須先保存當前文件才能使用 |
:prev |
進入上一個文件的編輯狀態,該命令必須先保存當前文件才能使用 |
Linux操做系統是一個多用戶,多任務的操做系統,按道理來講,那麼它應該具有了某種管理和查看用戶的命令,例如:su能夠切換用戶,若是但願查看一個用戶在linux操做系統當中的詳細信息,咱們可使用一個叫作finger的命令,其做用以下:
命令格式; finger [已經存在的用戶名],執行結果以下:
finger zhangsan : 查看zhangsan的詳細信息,執行命令後會出現如下意想不到的結果:
提示命令不存在,這時這個緣由,並不是是finger這命令拼寫錯了,而是finger命令屬於linux之外的軟件命令,所以但願使用這個軟件的命令咱們須要安裝該軟件,問題來了,在linux當中應該如何安裝軟件呢?
在windows操做系統當中,咱們安裝一個軟件,通常使用.exe文件進行安裝,因此windows不管什麼.exe的文件都會執行,然而在linux當中,linux安裝有3中方式:
①使用rpm安裝,這種安裝方式就相似於exe的安裝
②使用編譯安裝,這種安裝方式是Linux特有的方式,使用源碼進行編譯
③使用在線安裝(yum)安裝,通常用於阿里雲等服務器比較多。
rpm安裝的包就叫rpm軟件包,yum安裝也是安裝rpm軟件包,世界上沒有一種叫yum包,編譯安裝的包叫源碼包(通常指代c語言的源碼)
rpm是一個linux自帶的安裝命令,其格式以下:
rpm -ivh [完整的rpm包名] : 表示使用rpm命令進行安裝
rpm -e [不完整的包名] [--nodeps]: 表示使用rpm卸載軟件
案例1:使用rpm -ivh安裝finger軟件包
i 表明 install,安裝的意思
v 表明view,顯示安裝視圖
h表明以人性化的方式顯示安裝的視圖過程
其步驟以下:
第1步:首先咱們須要尋找軟件包所在的位置,因爲咱們是使用鏡像進行linux的安裝的因此全部的軟件都在鏡像光盤當中,如何知道鏡像光盤所示在的位置呢?咱們可使用磁盤管理命令df -h進行查看,以下圖所示:
可是/dev/sr0是硬件的設備名稱,該設備對應的文件存放在/media/CentOS_6.5_Final目錄當中,若是咱們但願查找軟件包那麼我須要對對應的文件存放目錄中進行查找。
第2步:切換到cd /meida/CentOS_6.5_Final目錄,以下圖所示:
咱們切換目錄時可使用tab鍵進行目錄或者命令的補全功能,切換成功後找到Packages目錄,以下圖所示:
進入該目錄,以下:
第3步:若是單純使用ls命令那麼會搜索出,當前目錄全部的軟件包,若是你但願定位到某一個軟件包,那麼你能夠加上grep工具進行關鍵字定位,語法以下:
ls | grep 軟件包的關鍵字
好比定位finger軟件包,其命令以下:
ls | grep finger
第4步:使用rpm -ivh命令進行軟件包的安裝,語法格式以下:
rpm -ivh [完整的rpm包名] : 表示使用rpm命令進行安裝
回車執行以上命令,就會進行安裝:
出現的結果爲100%而且沒有任何的錯誤信息,就表明安裝成功
第5步:使用finger命令去查看普通用戶zhangsan,命令以下:
finger zhangsan,執行結果以下:
若是但願使用rpm進行卸載,在linux操做系統當中rpm的卸載100%的狀況都強制卸載的過程,因此卸載的命令格式必須加上--nodeps
卸載vim的mimal軟件步驟以下:
第1步:使用rpm -qa | grep vim定位vim所安裝的軟件包有哪些?
-q : 表示query,表明查詢已經安裝過的軟件
-a : 查詢全部已經安裝的軟件
rpm -qa | grep vim就是在全部已經安裝的軟件中定位vim是否已經被安裝,執行命令以下:
第2步:使用rpm -e進行卸載不加上--nodeps,其語法格式以下:
rpm -e [不完整的包名]
執行命令以下:
但願刪除minimal必須先刪除依賴,可是刪除 依賴的過程若是不想進行,那麼咱們就能夠強制刪除,加上--nodeps,其語法格式以下:
rpm -e [不完整的包名] [--nodeps]: 表示使用rpm卸載軟件
第3步:從新使用rpm -qa | grep vim 查看
刪除這個軟件其實不會影響vim的正常工做,由於這個軟件是多餘文件,不過若是你但願多練習這個rpm的命令,那你能夠嘗試從新安裝這個minimal軟件,步驟以下圖所示:
再次使用rpm -qa | grep vim發覺minimal就又存在了